Arpi | 1 Jan 2004 01:01
Picon

Re: some license/copyright issues

Hi,

> On Sat, Dec 27, 2003 at 11:52:03PM +0100, Diego Biurrun wrote:
> > Hi boys!
> > 
> > In the wake of the Debian frustration du jour, I'm currently reviewing
> > some copyright statements in our source tree and extending the
> > Copyright file.  No, this is not about flaming, don't worry - or don't
> > get your hopes up.
> > 
> > 
> > 1) At the top of libvo/vo_sdl.c there is the following statement in the
> > header of the file:
> 
> This is incorrect. The only thing copied from mpeg2dec is that
> comment.

actually it's somehwo true... just like the only thing linux 2.6 has
from linux 0.01 is the comments...

originally libvo (the first ever libvo) was made for the OMS project.
when that project died (around when mplayer has born) that code was
copied/moved to mpeg2dec, a small test-app included with libmpeg2.
sinve my mpg12player v0.9 serie based on libmpeg2, and the mpg12play
series was only a demuxer, so the video out layer always came with the
codec (v0.1-0.3 had libmpeg3 with its x11 driver, v0.5--0.7 used
dvdview (c++ mess) with its x11 and mga outputs). so v0.9x had that
libvo, and since mplayer is based on (or better: inherited from)
mpg12play, it still ha sthat libvo.

(Continue reading)

Joachim Breuer | 1 Jan 2004 11:19
Picon

nvidia_vid YV12 support

Hello!

I've had a look at nvidia_vid.c and I *think* that I understood enough
of what's going on to be of some help.

My major problem (as is anyones, I guess) is the lack of documentation
for nVidia GPUs. But then, in a discussion between Dmitry Baryshkov
and Sascha Sommer Sep/03 <003501c38384$d998d720$38b2ebd9 <at> oemcomputer>
etc. there are some docs mentioned, and the register names shown as
comments in nvidia_vid.c (NV_PVIDEO_FORMAT etc.) have to come from
somewhere...

I've already had a look the deactivated YV12 section and activated it
just for fun and played around a bit with the parameters, but what I
can see is - while definitely based on the incoming video stream -
severely distorted geometrically (line length mismatch) and color-wise
(shades of magenta on green).

After setting NV_PVIDEO_FORMAT.b16 to turn on YV12 mode the
"best-looking" set-up so far is:

  vinfo->dest.pitch.y = 1;
  vinfo->dest.pitch.u = 1;
  vinfo->dest.pitch.v = 1;

  info->pitch = info->width;

  vinfo->offset.y = 0;
  vinfo->offset.v = info->width*info->height*2;
  vinfo->offset.u = info->width*info->height*3;
(Continue reading)

Attila Kinali | 1 Jan 2004 13:47
Picon

Re: nvidia_vid YV12 support

On Thu, 01 Jan 2004 11:19:53 +0100
Joachim Breuer <jmbreuer <at> gmx.net> wrote:

> Slightly OT: Is there perhaps a (DLL or whatever) MPEG2 (DVD-capable)
> codec that can decode to UYVY?

Not that i know off, but you can hack libavcodec to do that.
Or, if you just aim to use UYVY for playback, you can specify 
-vf format=uyvy but that uses quite a lot of cpu

			Attila Kinali
--

-- 
egp ist vergleichbar mit einem ikea bausatz fuer flugzeugtraeger
			-- reeler in +kaosu
Joachim Breuer | 1 Jan 2004 14:08
Picon

Re: nvidia_vid YV12 support

Hello!

Attila Kinali <attila <at> kinali.ch> writes:

> On Thu, 01 Jan 2004 11:19:53 +0100
> Joachim Breuer <jmbreuer <at> gmx.net> wrote:
>
>> Slightly OT: Is there perhaps a (DLL or whatever) MPEG2 (DVD-capable)
>> codec that can decode to UYVY?
>
> Not that i know off, but you can hack libavcodec to do that.

Hm. Might just be easier than figuring out the nVidia overlay... ;-)

Thanks, I think I'll look into that as well.

> Or, if you just aim to use UYVY for playback, you can specify 
> -vf format=uyvy but that uses quite a lot of cpu

Which is exactly the problem on the machine in question. Enough power
to play DVD, not enough to also do colorspace acrobatics.

So long,
   Joe

--

-- 
"I use emacs, which might be thought of as a thermonuclear
 word processor."
-- Neal Stephenson, "In the beginning... was the command line"
(Continue reading)

Sascha Sommer | 1 Jan 2004 14:23
Picon
Favicon

Re: nvidia_vid YV12 support

> Hello!
>
> I've had a look at nvidia_vid.c and I *think* that I understood enough
> of what's going on to be of some help.
>
> My major problem (as is anyones, I guess) is the lack of documentation
> for nVidia GPUs. But then, in a discussion between Dmitry Baryshkov
> and Sascha Sommer Sep/03 <003501c38384$d998d720$38b2ebd9 <at> oemcomputer>
> etc. there are some docs mentioned, and the register names shown as
> comments in nvidia_vid.c (NV_PVIDEO_FORMAT etc.) have to come from
> somewhere...
>

Yeah. I'd like to have these docs too. The register names are simply copyed
from the code
of rivatv (rivatv.sf.net). Afair there were some other docs there but they
didn't contain
the needed information.

> I've already had a look the deactivated YV12 section and activated it
> just for fun and played around a bit with the parameters, but what I
> can see is - while definitely based on the incoming video stream -
> severely distorted geometrically (line length mismatch) and color-wise
> (shades of magenta on green).
>
> After setting NV_PVIDEO_FORMAT.b16 to turn on YV12 mode the
> "best-looking" set-up so far is:
>
>   vinfo->dest.pitch.y = 1;
>   vinfo->dest.pitch.u = 1;
(Continue reading)

Joachim Breuer | 1 Jan 2004 15:33
Picon

Re: nvidia_vid YV12 support

"Sascha Sommer" <saschasommer <at> freenet.de> writes:

>> Hello!
>>
>> I've had a look at nvidia_vid.c and I *think* that I understood enough
>> of what's going on to be of some help.
>>
>> My major problem (as is anyones, I guess) is the lack of documentation
>> for nVidia GPUs. But then, in a discussion between Dmitry Baryshkov
>> and Sascha Sommer Sep/03 <003501c38384$d998d720$38b2ebd9 <at> oemcomputer>
>> etc. there are some docs mentioned, and the register names shown as
>> comments in nvidia_vid.c (NV_PVIDEO_FORMAT etc.) have to come from
>> somewhere...
>>
>
> Yeah. I'd like to have these docs too. The register names are simply
> copyed from the code of rivatv (rivatv.sf.net). Afair there were
> some other docs there but they didn't contain the needed
> information.

Great pointer (at least I think I have glanced a solution to an
annoying problem I have with text mode display on the attached panel),
but not what's needed here exactly... as you said.

>> I've already had a look the deactivated YV12 section and activated it
>> just for fun and played around a bit with the parameters, but what I
>> can see is - while definitely based on the incoming video stream -
>> severely distorted geometrically (line length mismatch) and color-wise
>> (shades of magenta on green).
>>
(Continue reading)

Joey Parrish | 1 Jan 2004 18:27

Re: nvidia_vid YV12 support

On Thu, Jan 01, 2004 at 03:33:05PM +0100, Joachim Breuer wrote:
> That would be very much appreciated. Do you also happen to know a
> DirectX test app which requests an FB of format <whatever> (YV12 in
> our case) and displays something in that? Just to be sure that the
> application (WMP?!) really asked for YV12, and did not do some "oh,
> this looks like nVidia, I'll better request some other format and use
> some other renderer" magic.

hack a bit at vo_directx!
You can actually write a little driver to run a hacked vo_directx.
Just make it's functions non-static, then call them directly from your
main.  I've done some brute testing like this before.

--Joey

--

-- 
All philosophy is naive.
Ivan Kalvachev | 1 Jan 2004 22:02

Re: nvidia_vid YV12 support

I've always wondered why rivatv is used as reference, when
the XFree86 driver is quite good and stable.
It is even written by NVidia developer ;)
And yes, GeForce do have yv12 supported by HW.

Best Regards
   Ivan Kalvachev
  iive

Sascha Sommer said:
>> Hello!
>>
>> I've had a look at nvidia_vid.c and I *think* that I understood enough
>> of what's going on to be of some help.
>>
>> My major problem (as is anyones, I guess) is the lack of documentation
>> for nVidia GPUs. But then, in a discussion between Dmitry Baryshkov
>> and Sascha Sommer Sep/03 <003501c38384$d998d720$38b2ebd9 <at> oemcomputer>
>> etc. there are some docs mentioned, and the register names shown as
>> comments in nvidia_vid.c (NV_PVIDEO_FORMAT etc.) have to come from
>> somewhere...
>>
>
> Yeah. I'd like to have these docs too. The register names are simply
> copyed
> from the code
> of rivatv (rivatv.sf.net). Afair there were some other docs there but they
> didn't contain
> the needed information.
>
(Continue reading)

Sascha Sommer | 1 Jan 2004 21:59
Picon
Favicon

Re: nvidia_vid YV12 support

> On Thu, Jan 01, 2004 at 03:33:05PM +0100, Joachim Breuer wrote:
> > That would be very much appreciated. Do you also happen to know a
> > DirectX test app which requests an FB of format <whatever> (YV12 in
> > our case) and displays something in that? Just to be sure that the
> > application (WMP?!) really asked for YV12, and did not do some "oh,
> > this looks like nVidia, I'll better request some other format and use
> > some other renderer" magic.
>
> hack a bit at vo_directx!
> You can actually write a little driver to run a hacked vo_directx.
> Just make it's functions non-static, then call them directly from your
> main.  I've done some brute testing like this before.
>

You won't believe but I have even uglier code than vo directx ;)
http://www.mplayerhq.hu/~faust3/nvidia_dump.zip
It is some register dumper hacked together from vo_directx and nvidia_vid
sources.
I used it a lot to get nvidia_vid working. I updated the code today to the
latest
version of nvidia_vid and added support for cards >NV03.
run it with test.exe YV12 yv12.frame  to display a yv12 frame and the
register values
during the various directx calls. Don't take it serious it was never meant
to be
published. Nevertheless it is working fine on windows98 and if anyone finds
it usefull for video driver development I will try my best to clean up the
code.

Sascha
(Continue reading)

Sascha Sommer | 1 Jan 2004 22:10
Picon
Favicon

Re: nvidia_vid YV12 support

>I've always wondered why rivatv is used as reference, when
>the XFree86 driver is quite good and stable.

For your Geforce cards maybe but it doesn't support xv for my riva128 and
that
is the card nvidia_vid was developed for.

>It is even written by NVidia developer ;)
>And yes, GeForce do have yv12 supported by HW.

Yes, but it seems like it uses dma blits for this.

Sascha

Gmane