[Nouveau] "Decode videos"

Jimmy Rentz jb17bsome at gmail.com
Thu Dec 16 17:10:11 PST 2010


On Thu, 16 Dec 2010 19:44:06 +0000
James Courtier-Dutton <james.dutton at gmail.com> wrote:

> On 16 December 2010 19:28, Mikhail Ramendik <mr at ramendik.ru> wrote:
> > On 7 December 2010 01:07, Jimmy Rentz <jb17bsome at gmail.com> wrote:
> >
> >> Initially I would say XVMC.  VDPAU expects full hw bitstream
> >> decode.  XVMC only does decode starting at idct/mb.  I am guessing
> >> it is possible to support VDPAU by doing the earlier stages in
> >> software then handling the reset to hw.  Well, unless someone
> >> figures out some way to handle the full pipeline in hw via shaders
> >> which is something I have no time or knowledge.
> >
> > Just had an idea - perhaps VAAPI would be easier to support than
> > VDPAU?
> >
> > The main thing would probably be h264, as that is the only format
> > which some modern CPUs are not strong enough to decode.
> >
> 
> That is correct. XVMC only does MPEG2 that most PCs can do with just
> XV, and nouveau already supports XV.
> I can run nouveau on a ATOM-ION box using the nouveau XV driver for
> MPEG2 SD movies.
> VDPAU is required for HD H264/MPEG4 movies as the ATOM-ION cannot do
> HD H264 with XV.
> 
> So, i agree, getting nouveau to support H264/MPEG4 playback would be
> good. It does not even have to be vdpau or vaapi. It could be a new
> API if that would be easier.
> The idct/mb parts of decoding H264/MPEG4 is still the most CPU
> intensive and best to do on the graphics card if possible.
> Decoding the bitstream decoding is probably OK to do in software on
> the CPU instead of the GPU.
> 
> Kind Regards
> 
> James

Yes, MPEG2 accel isn't really useful currently.  It is just that
I re that stuff a long time ago for playing 1080i mpeg2 hd.  I needed it
for my XP1700 Athlon since it couldn't handle it, etc.  

It would be nice for H.264 to be supported in nouveau.  The
problem is that someone would have to write a shader to perform
the mb/idct stage.  I guess it is doable, but I imagine that some gpus
will have trouble running the shaders without slowing down too
much.  However, it is unrealistic to think (for me) that someone will be
trying to watch a H.264 blu-ray on an NV30/NV40.
The ideal H.264 solution is to have full hw offload for >= NV50 cards
using the decode hw.  That could take some time since the hw
microcode/programs will need to be re if I remember correctly.

Jimmy


More information about the Nouveau mailing list