[Mesa3d-dev] Google Summer of Code: we got in / call for mentors!

2010-03-18 Thread Stephane Marchesin
Hi,

Good news, X.Org just got accepted into the Google Summer of Code
program! Now we need mentors. If you are a developer and would like to
possibly mentor Summer of Code projects, please contact me off-list.

Thanks,
Stephane

--
Download Intel#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-06-22 Thread Kaspar Bumke
Yes, I stumbled across Rudd's project for XMBC as well. Unfortunetely
he has been inactive since last year and I cannot find much
information on how far he got with it. I will try and disrupt his
hibernation at XMBC's forum.

Thanks for the tips!

On Fri, Jun 19, 2009 at 8:42 PM, Younes Mantonyoune...@gmail.com wrote:
 On Fri, Jun 19, 2009 at 11:39 AM, Kaspar Bumkekaspar.bu...@gmail.com wrote:
 Yeah that was me on your blog. Thanks for answering here.

 I found your work very interesting and would like to continue where
 you left of. I do not have alot of experience, but I can make up for
 it with available time (a year!) and enthusiasm.

 I am going to start looking into OpenGL first of all and using and
 developing Mesa3D in general. It will probably be a long time before I
 will be able to use anything you would be pushing at this point.

 I'd suggest playing around in OpenGL too. If you can put together a
 proof of concept demo or something that did one of the decoding stages
 (e.g. H264 mocomp) it wouldn't be too hard to port to Gallium. IIRC
 there was somebody in GSoC with XBMC last year who attempted H264. I
 don't know how far he got but you could pick up where he left off or
 use his work as a reference.


--
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-06-19 Thread Kaspar Bumke
Yeah that was me on your blog. Thanks for answering here.

I found your work very interesting and would like to continue where
you left of. I do not have alot of experience, but I can make up for
it with available time (a year!) and enthusiasm.

I am going to start looking into OpenGL first of all and using and
developing Mesa3D in general. It will probably be a long time before I
will be able to use anything you would be pushing at this point.

On Mon, Jun 15, 2009 at 11:10 PM, Younes Mantonyoune...@gmail.com wrote:
 On Mon, Jun 15, 2009 at 11:59 AM, kasbahkaspar.bu...@gmail.com wrote:


 Corbin Simpson wrote:

 we have a state tracker/winsys combo called g3dvl (Gallium3D Video
 Layer) which can be used for XvMC. VDPAU support would require beefing
 this layer up to the point of being able to decode h.264, Theora, etc.
 in a big pipeline, and then writing the glue code to connect with the
 actual VDPAU interface.

 Has anything happend with this? Are you doing it for GSoC Denis? I am
 interested in getting involved in this for my final year undergraduate
 project. So has anyone begun attempting to beef up g3dvl to decode h.264 ?

 Nobody is doing this for GSoC as far as I know. (Did you ask the same
 thing on my blog? Sorry, I meant to respond to you there.) As far as
 beefing up g3dvl for this I started doing things to at least make it
 feasible to implement VDPAU and other APIs in a clean way, and I still
 hack away at it whenever I get a bit of time (hopefully more time now
 that a few of my other obligations have wrapped up). If you want to do
 stuff in this area I guess it would inspire me to move a little faster
 and push what I have so far.


--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-06-19 Thread Younes Manton
On Fri, Jun 19, 2009 at 11:39 AM, Kaspar Bumkekaspar.bu...@gmail.com wrote:
 Yeah that was me on your blog. Thanks for answering here.

 I found your work very interesting and would like to continue where
 you left of. I do not have alot of experience, but I can make up for
 it with available time (a year!) and enthusiasm.

 I am going to start looking into OpenGL first of all and using and
 developing Mesa3D in general. It will probably be a long time before I
 will be able to use anything you would be pushing at this point.

I'd suggest playing around in OpenGL too. If you can put together a
proof of concept demo or something that did one of the decoding stages
(e.g. H264 mocomp) it wouldn't be too hard to port to Gallium. IIRC
there was somebody in GSoC with XBMC last year who attempted H264. I
don't know how far he got but you could pick up where he left off or
use his work as a reference.

--
Are you an open source citizen? Join us for the Open Source Bridge conference!
Portland, OR, June 17-19. Two days of sessions, one day of unconference: $250.
Need another reason to go? 24-hour hacker lounge. Register today!
http://ad.doubleclick.net/clk;215844324;13503038;v?http://opensourcebridge.org
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-06-15 Thread kasbah


Corbin Simpson wrote:
 
 we have a state tracker/winsys combo called g3dvl (Gallium3D Video
 Layer) which can be used for XvMC. VDPAU support would require beefing
 this layer up to the point of being able to decode h.264, Theora, etc.
 in a big pipeline, and then writing the glue code to connect with the
 actual VDPAU interface.
 
Has anything happend with this? Are you doing it for GSoC Denis? I am
interested in getting involved in this for my final year undergraduate
project. So has anyone begun attempting to beef up g3dvl to decode h.264 ?
-- 
View this message in context: 
http://www.nabble.com/Google-Summer-of-Code-tp22937144p24037448.html
Sent from the mesa3d-dev mailing list archive at Nabble.com.


--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-06-15 Thread Younes Manton
On Mon, Jun 15, 2009 at 11:59 AM, kasbahkaspar.bu...@gmail.com wrote:


 Corbin Simpson wrote:

 we have a state tracker/winsys combo called g3dvl (Gallium3D Video
 Layer) which can be used for XvMC. VDPAU support would require beefing
 this layer up to the point of being able to decode h.264, Theora, etc.
 in a big pipeline, and then writing the glue code to connect with the
 actual VDPAU interface.

 Has anything happend with this? Are you doing it for GSoC Denis? I am
 interested in getting involved in this for my final year undergraduate
 project. So has anyone begun attempting to beef up g3dvl to decode h.264 ?

Nobody is doing this for GSoC as far as I know. (Did you ask the same
thing on my blog? Sorry, I meant to respond to you there.) As far as
beefing up g3dvl for this I started doing things to at least make it
feasible to implement VDPAU and other APIs in a clean way, and I still
hack away at it whenever I get a bit of time (hopefully more time now
that a few of my other obligations have wrapped up). If you want to do
stuff in this area I guess it would inspire me to move a little faster
and push what I have so far.

--
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing 
server and web deployment.
http://p.sf.net/sfu/businessobjects
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Stephane Marchesin
On Thu, Apr 9, 2009 at 04:09, Roland Scheidegger srol...@vmware.com wrote:
 On 08.04.2009 22:45, Stephane Marchesin wrote:
 On Wed, Apr 8, 2009 at 21:43, Corbin Simpson mostawesomed...@gmail.com 
 wrote:
 Brian Paul wrote:
 Denis Martinez wrote:
 Hi!

 I'm a GSoC student interested in the Gallium subjects
 which are about the implementation of VDPAU and OpenGL 3.0.

 I would like to start learning Gallium3D, so my question is:
 Do you have any useful learning resources to recommend as a starting 
 point?
 Also I'm thinking about hacking on Gallium, something not too difficult,
 in order to get started.
 I'm already familiar with C, Xorg, git, compiling/installing, but still
 have a lot to learn about OpenGL.
 Hi Denis,

 I'm not too familiar with the VDPAU stuff so maybe someone else can
 comment on that.
 marcheu, ymanton, and I were talking about this a bit ago. Essentially,
 we have a state tracker/winsys combo called g3dvl (Gallium3D Video
 Layer) which can be used for XvMC. VDPAU support would require beefing
 this layer up to the point of being able to decode h.264, Theora, etc.
 in a big pipeline, and then writing the glue code to connect with the
 actual VDPAU interface.


 Yes, as Corbin said, the plan is two-fold:
 - first, bring g3dvl up to h.264 levels. Some things are small and
 can be adapted from MPEG2 (new quantifying schemes and new block sizes
 for motion vectors, new idct...) and some others are bigger
 (supporting multiple reference frames, CABAC decoding, but that one
 has to be done on the CPU anyway, unless you come up with a genius
 idea to do it on the GPU). I would say you simply have to go one
 feature at a time until you get mostly complete h.264 (let's be honest
 here - no one implements the full h.264 standard today, heck 16
 reference frames of 1080p is using up 64Mb of vram in YV12 format
 already so not all cards can !).
 - then add support for an API that actually exposes that new
 functionality. VDPAU is probably our best candidate (short of creating
 our own API, which is a no-no for standardization reasons).

 What about VAAPI? XvBA?


- VAAPI has multiple explicit entry stages, which is more complicated
to do properly (you can't just have a single entry point for the data
in your code with it, you have to implement them all aven if you know
they're not going to be useful). That's because it was primarily
designed with embedded systems in mind which I think is a mistake (in
a year most of those embedded systems will be able to do full H.264
in hw).
- XvBA is going to be the loser anyway, it has seen no player adoption so far.
- On the other hand, VDPAU has a single entry point to which you just
feed the data. So you're free to do what you like in between.
Furthermore most players already have support for it in mainline.

So all in all, as we can't pursue the implementation of 1000 APIs, and
for simplicity's sake, VDPAU is the winner here IMO.

Stephane

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Stephane Marchesin
2009/4/9 Zou, Nanhai nanhai@intel.com:
 Hi,
        What kind of GPU shading language are you using for mc and idct?


What do you mean GPU shading language ? It generates gallium shaders,
just look at the g3dvl state tracker it's all there.

Stephane

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Zou, Nanhai
-Original Message-
From: stephane.marche...@gmail.com [mailto:stephane.marche...@gmail.com] On
Behalf Of Stephane Marchesin
Sent: 2009年4月9日 14:32
To: Zou, Nanhai
Cc: Corbin Simpson; Denis Martinez; mesa3d-dev@lists.sourceforge.net
Subject: Re: [Mesa3d-dev] Google Summer of Code

2009/4/9 Zou, Nanhai nanhai@intel.com:
 Hi,
        What kind of GPU shading language are you using for mc and idct?


What do you mean GPU shading language ? It generates gallium shaders,
just look at the g3dvl state tracker it's all there.


I have not been looking into gallium support yet. 
Are you working on software fallback or on some real hardware?

I am now working on HW accelerated media support for our chip(XVMC etc), next 
plan is to support VAAPI.
The code is now in our 2D dirver, in freedesktop.org xf86-video-driver . The 
master branch has MC only implement,
There is a branch xvmc-vld which support offload mpeg2 decode to GPU from VLD 
entry.
Media kernels running on GPU will do MC and IDCT and IQ, fix function unit HW 
will do VLD decode.

I think merge the VAAPI support into mesa might be a good idea.
However currently we program media kernel with very low level assembly code.
I fell it is better we can have some higher level shading language for later 
complex H.264 support and video post processing.

But I don't think GLSL like language can generate efficient enough media 
processing code.
So I am wondering which kind of programming language are you using for GPU 
media decoding.

Thanks
Zou Nan hai

Stephane
--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Stephane Marchesin
On Thu, Apr 9, 2009 at 08:49, Zou, Nanhai nanhai@intel.com wrote:


 I have not been looking into gallium support yet.
 Are you working on software fallback or on some real hardware?

We have xvmc on top of g3dvl working on nv40-class hardware (and more
generically, it should work any card which has a gallium driver).
We've had this since last year's summer of code. Our main purpose is
to avoid reinventing the wheel with each driver...


 I am now working on HW accelerated media support for our chip(XVMC etc), next 
 plan is to support VAAPI.
 The code is now in our 2D dirver, in freedesktop.org xf86-video-driver . The 
 master branch has MC only implement,
 There is a branch xvmc-vld which support offload mpeg2 decode to GPU from VLD 
 entry.
 Media kernels running on GPU will do MC and IDCT and IQ, fix function unit HW 
 will do VLD decode.


Well, we don't have hw video decoding specs for nvidia/ati (and on
some hardware we don't even have any video decoding hw), so we use the
shaders for everything anyway.
As far as VAAPI goes, someone could add a lib for it on top of g3dvl,
that's probably the nicest solution. But as I said in the other email,
the number of VAAPI entry points makes it difficult to implement. In
reality we don't need all these entry points, only old/embedded
hardware needs them, and that type of hardware has no gallium support
anyway.

 I think merge the VAAPI support into mesa might be a good idea.

If you don't have gallium for your chip, you have a specific
implementation then? In which case it doesn't make much sense to merge
it into mesa...

 However currently we program media kernel with very low level assembly code.
 I fell it is better we can have some higher level shading language for later 
 complex H.264 support and video post processing.

 But I don't think GLSL like language can generate efficient enough media 
 processing code.
 So I am wondering which kind of programming language are you using for GPU 
 media decoding.


Well we already use a GLSL-like language for that (intermediate
gallium representation) and we already have a working xvmc
implementation, so I don't think these concerns hold.

Stephane

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Zou, Nanhai
-Original Message-
From: stephane.marche...@gmail.com [mailto:stephane.marche...@gmail.com] On
Behalf Of Stephane Marchesin
Sent: 2009年4月9日 15:20
To: Zou, Nanhai
Cc: Corbin Simpson; Denis Martinez; mesa3d-dev@lists.sourceforge.net
Subject: Re: [Mesa3d-dev] Google Summer of Code

On Thu, Apr 9, 2009 at 08:49, Zou, Nanhai nanhai@intel.com wrote:


 I have not been looking into gallium support yet.
 Are you working on software fallback or on some real hardware?

We have xvmc on top of g3dvl working on nv40-class hardware (and more
generically, it should work any card which has a gallium driver).
We've had this since last year's summer of code. Our main purpose is
to avoid reinventing the wheel with each driver...


 I am now working on HW accelerated media support for our chip(XVMC etc), next
plan is to support VAAPI.
 The code is now in our 2D dirver, in freedesktop.org xf86-video-driver . The
master branch has MC only implement,
 There is a branch xvmc-vld which support offload mpeg2 decode to GPU from VLD
entry.
 Media kernels running on GPU will do MC and IDCT and IQ, fix function unit
HW will do VLD decode.


Well, we don't have hw video decoding specs for nvidia/ati (and on
some hardware we don't even have any video decoding hw), so we use the
shaders for everything anyway.
As far as VAAPI goes, someone could add a lib for it on top of g3dvl,
that's probably the nicest solution. But as I said in the other email,
the number of VAAPI entry points makes it difficult to implement. In
reality we don't need all these entry points, only old/embedded
hardware needs them, and that type of hardware has no gallium support
anyway.

 You can choose to implement 1 single entry point e.g. VLD.
 What I think VAAPI is missing is post processing,However  I can talk to VAAPI 
people to improve the API, anyway VAAPI is only at version 0.30.


 I think merge the VAAPI support into mesa might be a good idea.

If you don't have gallium for your chip, you have a specific
implementation then? In which case it doesn't make much sense to merge
it into mesa...



 Our current XVMC-vld implementation is in the 2D driver. 

 I am planning to implement to support VAAPI in a stand alone liberary.
 However I am thinking implement VAAPI in mesa may help us to have less 
duplicated code,   That means support for dri stuff, rendering, multi stream 
blending , scaling, subpicture easier.

 However currently we program media kernel with very low level assembly code.
 I fell it is better we can have some higher level shading language for later
complex H.264 support and video post processing.

 But I don't think GLSL like language can generate efficient enough media
processing code.
 So I am wondering which kind of programming language are you using for GPU
media decoding.


Well we already use a GLSL-like language for that (intermediate
gallium representation) and we already have a working xvmc
implementation, so I don't think these concerns hold.


Does the XVMC implementation support MC only flag or MC + IDCT?
Is it efficient enough to decode high rate HD content? 

Is it a high level language or you mean you do MC and IDCT with mesa internal 
op?
I think a high level language is most useful for performance tuning and 
debuging, consider the complexity of H.264 and post processing.

I have considered using GLSL, but for our media pipeline, 
hardware usually  run instruction in 16 ways or wider.

So if the language can provide data element like vec16 or even vec32 vec64 that 
would be nice.

Thanks
Zou Nan hai


Stephane
--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Corbin Simpson
Zou, Nanhai wrote:
 -Original Message-
 From: stephane.marche...@gmail.com [mailto:stephane.marche...@gmail.com] On
 Behalf Of Stephane Marchesin
 Sent: 2009年4月9日 15:20
 To: Zou, Nanhai
 Cc: Corbin Simpson; Denis Martinez; mesa3d-dev@lists.sourceforge.net
 Subject: Re: [Mesa3d-dev] Google Summer of Code

 On Thu, Apr 9, 2009 at 08:49, Zou, Nanhai nanhai@intel.com wrote:

 I have not been looking into gallium support yet.
 Are you working on software fallback or on some real hardware?
 We have xvmc on top of g3dvl working on nv40-class hardware (and more
 generically, it should work any card which has a gallium driver).
 We've had this since last year's summer of code. Our main purpose is
 to avoid reinventing the wheel with each driver...

 I am now working on HW accelerated media support for our chip(XVMC etc), 
 next
 plan is to support VAAPI.
 The code is now in our 2D dirver, in freedesktop.org xf86-video-driver . The
 master branch has MC only implement,
 There is a branch xvmc-vld which support offload mpeg2 decode to GPU from 
 VLD
 entry.
 Media kernels running on GPU will do MC and IDCT and IQ, fix function unit
 HW will do VLD decode.
 Well, we don't have hw video decoding specs for nvidia/ati (and on
 some hardware we don't even have any video decoding hw), so we use the
 shaders for everything anyway.
 As far as VAAPI goes, someone could add a lib for it on top of g3dvl,
 that's probably the nicest solution. But as I said in the other email,
 the number of VAAPI entry points makes it difficult to implement. In
 reality we don't need all these entry points, only old/embedded
 hardware needs them, and that type of hardware has no gallium support
 anyway.
 
  You can choose to implement 1 single entry point e.g. VLD.
  What I think VAAPI is missing is post processing,However  I can talk to 
 VAAPI people to improve the API, anyway VAAPI is only at version 0.30.

VAAPI is currently unplanned, which IME typically translates to
patches welcome. Ditto for XvBA. :3

In all honesty, VDPAU is simple, straightforward, and (for once) we're
in a position where implementing the nVidia
screw-the-standards-let's-write-our-own-standard system actually is
possible and full of win, so that's our first target.

(Oh, and embedded hardware support could always be added. Gallium pipes
for NEON, anybody?)

 I think merge the VAAPI support into mesa might be a good idea.
 If you don't have gallium for your chip, you have a specific
 implementation then? In which case it doesn't make much sense to merge
 it into mesa...

 
 
  Our current XVMC-vld implementation is in the 2D driver. 
 
  I am planning to implement to support VAAPI in a stand alone liberary.
  However I am thinking implement VAAPI in mesa may help us to have less 
 duplicated code,   That means support for dri stuff, rendering, multi stream 
 blending , scaling, subpicture easier.

Well, Gallium code's generic, so it does lead to less duplication.
Rather than write Intel-specific code, you write Gallium code which all
drivers can use, and then beef up the Intel drivers to be able to handle it.

 However currently we program media kernel with very low level assembly code.
 I fell it is better we can have some higher level shading language for later
 complex H.264 support and video post processing.
 But I don't think GLSL like language can generate efficient enough media
 processing code.
 So I am wondering which kind of programming language are you using for GPU
 media decoding.
 Well we already use a GLSL-like language for that (intermediate
 gallium representation) and we already have a working xvmc
 implementation, so I don't think these concerns hold.
 
 
 Does the XVMC implementation support MC only flag or MC + IDCT?
 Is it efficient enough to decode high rate HD content? 

Yes, yes.

 Is it a high level language or you mean you do MC and IDCT with mesa internal 
 op?
 I think a high level language is most useful for performance tuning and 
 debuging, consider the complexity of H.264 and post processing.
 
 I have considered using GLSL, but for our media pipeline, 
 hardware usually  run instruction in 16 ways or wider.
 So if the language can provide data element like vec16 or even vec32 vec64 
 that would be nice.

The internal representation used in Gallium is TGSI and it should be
sufficient for nearly all your needs. Check out
http://www.tungstengraphics.co/wiki/files/tgsi.pdf for the formal
specification, or if you'd like more concrete examples, look at
src/gallium/auxiliary/tgsi for Gallium's TGSI utilities, or most of the
drivers in src/gallium/drivers/* for card-specific TGSI decoders.

~ C.

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list

Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Ian Romanick
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Stephane Marchesin wrote:

 That's my point: video codecs move too fast to be put into silicon,
 and require too many resources to implement. So we should use shaders
 and lay everything onto an API that takes care of the hardware
 details.

This is one case where I agree with keithp about fixed-function
hardware.  You can always make a fixed-function video decoder that uses
orders of magnitude less power than a programmable decoder.  How many
movies do you want to be able to watch on that long flight from LA to
Sydney?

As a fairly extreme example, the CPU in the iPod can decode MP3.
However, doing it on the CPU, even that power efficient CPU, uses more
that 5x the power of doing on the dedicated MP3 decode hardware.  I
don't know that the difference is as extreme for video decode hardware,
but even 2x would pretty significant.

I guess the point is that fixed-function decode hardware won't
disappear, at least not on mobile devices, any time soon.

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkneOGgACgkQX1gOwKyEAw8SugCeMn6PY26FccQAxlM15vHY1ZME
Sd4Anj1ZGDRI+lXP/5q08w85eAbFgXqB
=z0tz
-END PGP SIGNATURE-

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Stephane Marchesin
On Thu, Apr 9, 2009 at 20:03, Ian Romanick i...@freedesktop.org wrote:
 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 Stephane Marchesin wrote:

 That's my point: video codecs move too fast to be put into silicon,
 and require too many resources to implement. So we should use shaders
 and lay everything onto an API that takes care of the hardware
 details.

 This is one case where I agree with keithp about fixed-function
 hardware.  You can always make a fixed-function video decoder that uses
 orders of magnitude less power than a programmable decoder.  How many
 movies do you want to be able to watch on that long flight from LA to
 Sydney?

It depends, lets say my movie is H264 and I have an i945. Since that
card can't do H264 decoding as fixed pipe and since the driver has no
shader-based H264, I end up using the CPU and actually a lot more
battery. It's actually way worse than fixed hardware. I end up running
out of battery in the taxi to the airport.

On the other hand, had I used a shader-based video decoding library, I
could at least accelerate most of the decoding. That would probably
let me watch movies at least until I land in Hong kong (where I catch
the connecting flight).

Really H264 (or any codec for that matter) is not the end of the
tunnel. Hey, no fixed pipe hardware implements the full H264 spec
today. What's going to happen when newer videos start using the full
range of capabilities? Yes, fallback to CPU rendering again. Or
corrupt video.


 As a fairly extreme example, the CPU in the iPod can decode MP3.
 However, doing it on the CPU, even that power efficient CPU, uses more
 that 5x the power of doing on the dedicated MP3 decode hardware.  I
 don't know that the difference is as extreme for video decode hardware,
 but even 2x would pretty significant.

 I guess the point is that fixed-function decode hardware won't
 disappear, at least not on mobile devices, any time soon.


Yeah, the answer for those is pretty simple IMO: we just don't support
these. And we can handle the rest with g3dvl.

Stephane

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Zack Rusin
On Thursday 09 April 2009 14:03:20 Ian Romanick wrote:
 Stephane Marchesin wrote:
  That's my point: video codecs move too fast to be put into silicon,
  and require too many resources to implement. So we should use shaders
  and lay everything onto an API that takes care of the hardware
  details.

 This is one case where I agree with keithp about fixed-function
 hardware.  You can always make a fixed-function video decoder that uses
 orders of magnitude less power than a programmable decoder.  How many
 movies do you want to be able to watch on that long flight from LA to
 Sydney?

 As a fairly extreme example, the CPU in the iPod can decode MP3.
 However, doing it on the CPU, even that power efficient CPU, uses more
 that 5x the power of doing on the dedicated MP3 decode hardware.  I
 don't know that the difference is as extreme for video decode hardware,
 but even 2x would pretty significant.

 I guess the point is that fixed-function decode hardware won't
 disappear, at least not on mobile devices, any time soon.

This isn't a problem for Gallium. As previously discussed the parts of the 
video pipeline that do appear as fixed-function in gpus would be exported to a 
gallium video interface. 
The default implementation of the interface would be using TGSI and Gallium 
interface (so 3D pipeline) but if particular hardware supported those features 
the driver could just implement the video interface using the fixed-function 
parts.

z



--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-09 Thread Stephane Marchesin
On Thu, Apr 9, 2009 at 20:22, Zack Rusin za...@vmware.com wrote:
 On Thursday 09 April 2009 14:03:20 Ian Romanick wrote:
 Stephane Marchesin wrote:
  That's my point: video codecs move too fast to be put into silicon,
  and require too many resources to implement. So we should use shaders
  and lay everything onto an API that takes care of the hardware
  details.

 This is one case where I agree with keithp about fixed-function
 hardware.  You can always make a fixed-function video decoder that uses
 orders of magnitude less power than a programmable decoder.  How many
 movies do you want to be able to watch on that long flight from LA to
 Sydney?

 As a fairly extreme example, the CPU in the iPod can decode MP3.
 However, doing it on the CPU, even that power efficient CPU, uses more
 that 5x the power of doing on the dedicated MP3 decode hardware.  I
 don't know that the difference is as extreme for video decode hardware,
 but even 2x would pretty significant.

 I guess the point is that fixed-function decode hardware won't
 disappear, at least not on mobile devices, any time soon.

 This isn't a problem for Gallium. As previously discussed the parts of the
 video pipeline that do appear as fixed-function in gpus would be exported to a
 gallium video interface.
 The default implementation of the interface would be using TGSI and Gallium
 interface (so 3D pipeline) but if particular hardware supported those features
 the driver could just implement the video interface using the fixed-function
 parts.

It could become very hairy then. Interfacing arbitrary
shader-based/fixed pipeline bits could prove to be a difficult
challenge, especially since there is no standard format for data
between the decoding stages (memory layout, bits...). You could put
that burden onto the driver but that complicates things quite a bit.

Again, as I see it, it's increasingly difficult to follow the video
codec trend and fixed pipe didn't cut it before. For example on most
cards we have had H262 fixed pipe for years, and H263 (divx) movies
were never accelerated by those fixed pipe cards until H264 came out a
lot later. H263 was probably the most widespread format of video these
days though, and we completely missed it.

Stephane

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-08 Thread Brian Paul
Denis Martinez wrote:
 Hi!
 
 I'm a GSoC student interested in the Gallium subjects
 which are about the implementation of VDPAU and OpenGL 3.0.
 
 I would like to start learning Gallium3D, so my question is:
 Do you have any useful learning resources to recommend as a starting point?
 Also I'm thinking about hacking on Gallium, something not too difficult,
 in order to get started.
 I'm already familiar with C, Xorg, git, compiling/installing, but still
 have a lot to learn about OpenGL.

Hi Denis,

I'm not too familiar with the VDPAU stuff so maybe someone else can 
comment on that.

If you want to learn about Gallium, you should first check out the 
wiki page at http://www.tungstengraphics.com/wiki/index.php/Gallium3D

It's a little out of date, but the concepts are still correct.  I'll 
try to freshen it up a little one of these days/evenings.

If you'd like to get your hands dirty in the Mesa/Gallium code, I 
could probably suggest a few things.  For example, we don't currently 
support the GL_ARB_framebuffer_object extension.  The EXT version is 
supported.  The main difference (and the reason the ARB version is not 
supported) is that the ARB versions allows your color buffers, depth 
buffers and stencil buffers to be of different sizes.  It might a 
simple matter to test/fix the mis-matched framebuffer size issues.

Otherwise, if you grep the code for XXX or to-do comments you'll 
probably find some areas where help is needed.

Unfortunately for beginnners, all the easy stuff in Mesa/Gallium was 
done long ago.  Most people find an area of particular interest and 
dig into it.  Feel free to ask questions here.

-Brian

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-08 Thread Corbin Simpson
Brian Paul wrote:
 Denis Martinez wrote:
 Hi!

 I'm a GSoC student interested in the Gallium subjects
 which are about the implementation of VDPAU and OpenGL 3.0.

 I would like to start learning Gallium3D, so my question is:
 Do you have any useful learning resources to recommend as a starting point?
 Also I'm thinking about hacking on Gallium, something not too difficult,
 in order to get started.
 I'm already familiar with C, Xorg, git, compiling/installing, but still
 have a lot to learn about OpenGL.
 
 Hi Denis,
 
 I'm not too familiar with the VDPAU stuff so maybe someone else can 
 comment on that.

marcheu, ymanton, and I were talking about this a bit ago. Essentially,
we have a state tracker/winsys combo called g3dvl (Gallium3D Video
Layer) which can be used for XvMC. VDPAU support would require beefing
this layer up to the point of being able to decode h.264, Theora, etc.
in a big pipeline, and then writing the glue code to connect with the
actual VDPAU interface.

~ C.

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-08 Thread Stephane Marchesin
On Wed, Apr 8, 2009 at 21:43, Corbin Simpson mostawesomed...@gmail.com wrote:
 Brian Paul wrote:
 Denis Martinez wrote:
 Hi!

 I'm a GSoC student interested in the Gallium subjects
 which are about the implementation of VDPAU and OpenGL 3.0.

 I would like to start learning Gallium3D, so my question is:
 Do you have any useful learning resources to recommend as a starting point?
 Also I'm thinking about hacking on Gallium, something not too difficult,
 in order to get started.
 I'm already familiar with C, Xorg, git, compiling/installing, but still
 have a lot to learn about OpenGL.

 Hi Denis,

 I'm not too familiar with the VDPAU stuff so maybe someone else can
 comment on that.

 marcheu, ymanton, and I were talking about this a bit ago. Essentially,
 we have a state tracker/winsys combo called g3dvl (Gallium3D Video
 Layer) which can be used for XvMC. VDPAU support would require beefing
 this layer up to the point of being able to decode h.264, Theora, etc.
 in a big pipeline, and then writing the glue code to connect with the
 actual VDPAU interface.


Yes, as Corbin said, the plan is two-fold:
- first, bring g3dvl up to h.264 levels. Some things are small and
can be adapted from MPEG2 (new quantifying schemes and new block sizes
for motion vectors, new idct...) and some others are bigger
(supporting multiple reference frames, CABAC decoding, but that one
has to be done on the CPU anyway, unless you come up with a genius
idea to do it on the GPU). I would say you simply have to go one
feature at a time until you get mostly complete h.264 (let's be honest
here - no one implements the full h.264 standard today, heck 16
reference frames of 1080p is using up 64Mb of vram in YV12 format
already so not all cards can !).
- then add support for an API that actually exposes that new
functionality. VDPAU is probably our best candidate (short of creating
our own API, which is a no-no for standardization reasons).

Stephane

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-08 Thread Roland Scheidegger
On 08.04.2009 22:45, Stephane Marchesin wrote:
 On Wed, Apr 8, 2009 at 21:43, Corbin Simpson mostawesomed...@gmail.com 
 wrote:
 Brian Paul wrote:
 Denis Martinez wrote:
 Hi!

 I'm a GSoC student interested in the Gallium subjects
 which are about the implementation of VDPAU and OpenGL 3.0.

 I would like to start learning Gallium3D, so my question is:
 Do you have any useful learning resources to recommend as a starting point?
 Also I'm thinking about hacking on Gallium, something not too difficult,
 in order to get started.
 I'm already familiar with C, Xorg, git, compiling/installing, but still
 have a lot to learn about OpenGL.
 Hi Denis,

 I'm not too familiar with the VDPAU stuff so maybe someone else can
 comment on that.
 marcheu, ymanton, and I were talking about this a bit ago. Essentially,
 we have a state tracker/winsys combo called g3dvl (Gallium3D Video
 Layer) which can be used for XvMC. VDPAU support would require beefing
 this layer up to the point of being able to decode h.264, Theora, etc.
 in a big pipeline, and then writing the glue code to connect with the
 actual VDPAU interface.

 
 Yes, as Corbin said, the plan is two-fold:
 - first, bring g3dvl up to h.264 levels. Some things are small and
 can be adapted from MPEG2 (new quantifying schemes and new block sizes
 for motion vectors, new idct...) and some others are bigger
 (supporting multiple reference frames, CABAC decoding, but that one
 has to be done on the CPU anyway, unless you come up with a genius
 idea to do it on the GPU). I would say you simply have to go one
 feature at a time until you get mostly complete h.264 (let's be honest
 here - no one implements the full h.264 standard today, heck 16
 reference frames of 1080p is using up 64Mb of vram in YV12 format
 already so not all cards can !).
 - then add support for an API that actually exposes that new
 functionality. VDPAU is probably our best candidate (short of creating
 our own API, which is a no-no for standardization reasons).
 
What about VAAPI? XvBA?

Roland

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


Re: [Mesa3d-dev] Google Summer of Code

2009-04-08 Thread Zou, Nanhai
-Original Message-
From: Stephane Marchesin [mailto:marche...@icps.u-strasbg.fr]
Sent: 2009年4月9日 4:46
To: Corbin Simpson
Cc: Denis Martinez; mesa3d-dev@lists.sourceforge.net
Subject: Re: [Mesa3d-dev] Google Summer of Code

On Wed, Apr 8, 2009 at 21:43, Corbin Simpson mostawesomed...@gmail.com wrote:
 Brian Paul wrote:
 Denis Martinez wrote:
 Hi!

 I'm a GSoC student interested in the Gallium subjects
 which are about the implementation of VDPAU and OpenGL 3.0.

 I would like to start learning Gallium3D, so my question is:
 Do you have any useful learning resources to recommend as a starting point?
 Also I'm thinking about hacking on Gallium, something not too difficult,
 in order to get started.
 I'm already familiar with C, Xorg, git, compiling/installing, but still
 have a lot to learn about OpenGL.

 Hi Denis,

 I'm not too familiar with the VDPAU stuff so maybe someone else can
 comment on that.

 marcheu, ymanton, and I were talking about this a bit ago. Essentially,
 we have a state tracker/winsys combo called g3dvl (Gallium3D Video
 Layer) which can be used for XvMC. VDPAU support would require beefing
 this layer up to the point of being able to decode h.264, Theora, etc.
 in a big pipeline, and then writing the glue code to connect with the
 actual VDPAU interface.


Yes, as Corbin said, the plan is two-fold:
- first, bring g3dvl up to h.264 levels. Some things are small and
can be adapted from MPEG2 (new quantifying schemes and new block sizes
for motion vectors, new idct...) and some others are bigger
(supporting multiple reference frames, CABAC decoding, but that one
has to be done on the CPU anyway, unless you come up with a genius
idea to do it on the GPU). I would say you simply have to go one
feature at a time until you get mostly complete h.264 (let's be honest
here - no one implements the full h.264 standard today, heck 16
reference frames of 1080p is using up 64Mb of vram in YV12 format
already so not all cards can !).
- then add support for an API that actually exposes that new
functionality. VDPAU is probably our best candidate (short of creating
our own API, which is a no-no for standardization reasons).

Hi,
What kind of GPU shading language are you using for mc and idct?

Thanks
Zou Nan hai


Stephane

---
---
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev


[Mesa3d-dev] Google Summer of Code

2009-04-07 Thread Denis Martinez
Hi!

I'm a GSoC student interested in the Gallium subjects
which are about the implementation of VDPAU and OpenGL 3.0.

I would like to start learning Gallium3D, so my question is:
Do you have any useful learning resources to recommend as a starting point?
Also I'm thinking about hacking on Gallium, something not too difficult,
in order to get started.
I'm already familiar with C, Xorg, git, compiling/installing, but still
have a lot to learn about OpenGL.

Denis
--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com___
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev