Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 07-29-05, 12:56 PM   #1
brueno
Registered User
 
Join Date: Jul 2005
Posts: 16
Default MSI 6600GT and Xvideo: no hardware scaling.

Hi folks

just bought an MSI 6600GT, and all of a sudden I have no hardware scaling anymore,
e.g. with xawtv on my Debian Sarge system

Had been running 6629 drivers on an Asus TI4600 before and all was fine, but not
with that new MSI. Also, an upgrade to 7667 didn't fix the situation.

I guess an indicator of the problem is the line
(II) NVIDIA(0): v4l[/dev/video0]: using hw video scaling [YUY2].
now missing in my Xlog.

Any ideas how to fix this? I used standard installation procedures, and everything
else works ok, including 3d accel ...

Thanks, Brueno.
brueno is offline   Reply With Quote
Old 07-29-05, 02:32 PM   #2
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Can you post an nvidia-bug-report.log?
netllama is offline   Reply With Quote
Old 07-29-05, 03:15 PM   #3
brueno
Registered User
 
Join Date: Jul 2005
Posts: 16
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Quote:
Originally Posted by netllama
Can you post an nvidia-bug-report.log?
Sure. I hope a file attachment is ok, if not let me know.

Thx a lot, Brueno.
Attached Files
File Type: txt nvidia-bug-report.log.txt (84.8 KB, 334 views)
brueno is offline   Reply With Quote
Old 07-29-05, 05:31 PM   #4
netllama
NVIDIA Corporation
 
Join Date: Dec 2004
Posts: 8,763
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Unfortunately, I believe that you're out of luck. Only pre NV41 GPUs have this support.
netllama is offline   Reply With Quote
Old 07-29-05, 06:00 PM   #5
brueno
Registered User
 
Join Date: Jul 2005
Posts: 16
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Quote:
Originally Posted by netllama
Unfortunately, I believe that you're out of luck. Only pre NV41 GPUs have this support.
No hardware yuv scaling in recent nv chips? Wow, that's reason enough to return the card.
If their support tells me the same, i'd say i'm through with nvidia.

Thanks a lot anyway, Brueno.
brueno is offline   Reply With Quote
Old 07-30-05, 07:23 PM   #6
philipl
Registered User
 
Join Date: May 2003
Location: Sunnyvale, CA
Posts: 116
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Quote:
Originally Posted by netllama
Unfortunately, I believe that you're out of luck. Only pre NV41 GPUs have this support.
Not quite. The colour key overlay is what has been removed from the NV40+ hardware. But in the NV30 cycle the introduced the video texture backend, which goes through the 3d engine. This is listed under xvinfo as the NV17 Video Texture. So, the colour key overlay was obsolete and eventually removed.

The big advantage is that the video texture is not tied to one particular head in twin view setups and, at least in windows, they use pixel shaders to do various effects in hardware.

The only catch is that the drivers still have a bug where the video texture and the video blitter (the other video acceleration path) won't vsync even when you tell them too. This makes tv-out really annoying. The colour key overlay was the only one that ever did that right.
__________________
--phil
philipl is offline   Reply With Quote
Old 07-31-05, 06:48 AM   #7
brueno
Registered User
 
Join Date: Jul 2005
Posts: 16
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Quote:
Originally Posted by philipl
Not quite. The colour key overlay is what has been removed from the NV40+ hardware. But in the NV30 cycle the introduced the video texture backend, which goes through the 3d engine. This is listed under xvinfo as the NV17 Video Texture. So, the colour key overlay was obsolete and eventually removed.
So what does that mean for me? Again, my problem is that apps like xawtv which use
xvideo overlay don't get their image scaled anymore, as compared to my previous
GeForce cards (Ti4600 or GeForce2).

Regarding the reason, I myself can only speculate and already pointed to one missing
Xlog line about YUY2 hardware scaling. Now, is this lack of hardware support, lack of
driver support, or should the application use different xvideo api calls to achieve the
scaling?

Thanks, Brueno.
brueno is offline   Reply With Quote
Old 07-31-05, 10:23 AM   #8
philipl
Registered User
 
Join Date: May 2003
Location: Sunnyvale, CA
Posts: 116
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Quote:
Originally Posted by brueno
Regarding the reason, I myself can only speculate and already pointed to one missing
Xlog line about YUY2 hardware scaling. Now, is this lack of hardware support, lack of
driver support, or should the application use different xvideo api calls to achieve the
scaling?
It probably means that xawtv isn't being very bright. Each xv backend has it's own port number, so if you're only looking for the colour key overlay, then you won't find it anymore.

I'd recommend trying out tvtime - it's a better tv viewer and I know it works correctly.

Also, you should run 'xvinfo' and confirm the presence of any backends.
__________________
--phil
philipl is offline   Reply With Quote

Old 07-31-05, 11:22 AM   #9
brueno
Registered User
 
Join Date: Jul 2005
Posts: 16
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Quote:
Originally Posted by philipl
It probably means that xawtv isn't being very bright. Each xv backend has it's own port number, so if you're only looking for the colour key overlay, then you won't find it anymore.

I'd recommend trying out tvtime - it's a better tv viewer and I know it works correctly.

Also, you should run 'xvinfo' and confirm the presence of any backends.
Hmm. I've tried tvtime, but it uses 20% cpu at least, while xawtv with yuv acceleration
takes about 1%. That's the reason why I investigate the problem.

Actually, xawtv is bright enough. The call xawtv -hwscan gives

port 270-270 [ -xvport 270 ]
type : Xvideo, video overlay
name : video4linux
port 271-271
type : Xvideo, image scaler
name : NV17 Video Texture
port 272-303
type : Xvideo, image scaler
name : NV05 Video Blitter

and the default is port 270, which is what it always has taken, i.e. video overlay
(I tried the other ports btw. via 'xawtv -xvport' with no avail).

On my previous cards, this default behavior gave me yuv acceleration and hw scaling.
With the 6600GT it doesn't. So again, why? And can this be fixed?

Thanks, Brueno.
brueno is offline   Reply With Quote
Old 07-31-05, 07:17 PM   #10
philipl
Registered User
 
Join Date: May 2003
Location: Sunnyvale, CA
Posts: 116
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Well, that's weird. I'm not completely sure how the v4l overlay mechanism works (port 270). it's possible that it does some sort of direct transfer of the incoming tv yuv frames to the graphics card, but it's not an output port in the general sense - ie: I can't send frames from an avi file to it. So, I would conjecture that previously, the v4l overlay co-operated with the colour key overlay to provide the output you saw but it can't work with the video texture to do the same thing.

So, now you have to bring the frames into memory and then send them on to the video texture port (which is what tvtime always does - as it has various effects it can apply)

It would then appear that this is another example of missing equivalent functionality (along with working vsync) in the video texture. If xawtv refuses to use the other ports, then tvtime is really the only option. kdetv is ok too but the UI is a bit clunky.
__________________
--phil
philipl is offline   Reply With Quote
Old 08-01-05, 07:47 AM   #11
brueno
Registered User
 
Join Date: Jul 2005
Posts: 16
Default Re: MSI 6600GT and Xvideo: no hardware scaling.

Quote:
Originally Posted by philipl
Well, that's weird. I'm not completely sure how the v4l overlay mechanism works (port 270). it's possible that it does some sort of direct transfer of the incoming tv yuv frames to the graphics card, but it's not an output port in the general sense - ie: I can't send frames from an avi file to it. So, I would conjecture that previously, the v4l overlay co-operated with the colour key overlay to provide the output you saw but it can't work with the video texture to do the same thing.

So, now you have to bring the frames into memory and then send them on to the video texture port (which is what tvtime always does - as it has various effects it can apply)

It would then appear that this is another example of missing equivalent functionality (along with working vsync) in the video texture. If xawtv refuses to use the other ports, then tvtime is really the only option. kdetv is ok too but the UI is a bit clunky.
Yes, without being an expert myself it looks like the v4l port lets the XFree v4l driver do
all image mapping itself, i.e. the application (xawtv) isn't involved at all apart from
communicating the frame buffer area where the image should be placed to the v4l
driver, apparently via XvPutVideo. That ensures that the video goes to the proper
window area.

Remember the Xlog line I mentioned?
(II) NVIDIA(0): v4l[/dev/video0]: using hw video scaling [YUY2].

Observe the device, /dev/video0, which is the bttv video device in my case. I took
a look at the v4l driver code, and apparently it tries to negotiate a common (YUV) palette
between the video and the graphics device:

Code:
* setup yuv overlay + hw scaling: look if we find some common video
   format which both v4l driver and the X-Server can handle */
static void v4l_check_yuv(ScrnInfoPtr pScrn, PortPrivPtr pPPriv,
                          char *dev, int fd)
{
    static const struct {
        unsigned int  v4l_palette;
        unsigned int  v4l_depth;
        unsigned int  xv_id;
        unsigned int  xv_format;
    } yuvlist[] = {
        { VIDEO_PALETTE_YUV422, 16, 0x32595559, XvPacked },
        { VIDEO_PALETTE_UYVY,   16, 0x59565955, XvPacked },
        { 0 /* end of list */ },
    };
    ScreenPtr pScreen = screenInfo.screens[pScrn->scrnIndex];
    int fmt,i;

    pPPriv->format = xf86XVQueryOffscreenImages(pScreen,&pPPriv->nformat);
    for (fmt = 0; yuvlist[fmt].v4l_palette != 0; fmt++) {
        /* check v4l ... */
        ioctl(fd,VIDIOCGPICT,&pPPriv->pict);
        pPPriv->pict.palette = yuvlist[fmt].v4l_palette;
        pPPriv->pict.depth   = yuvlist[fmt].v4l_depth;
        if (-1 == ioctl(fd,VIDIOCSPICT,&pPPriv->pict))
            continue;
        ioctl(fd,VIDIOCGPICT,&pPPriv->pict);
        if (pPPriv->pict.palette != yuvlist[fmt].v4l_palette)
            continue;
        /* ... works, check available offscreen image formats now ... */
        for (i = 0; i < pPPriv->nformat; i++) {
            if (pPPriv->format[i].image->id     == yuvlist[fmt].xv_id &&
                pPPriv->format[i].image->format == yuvlist[fmt].xv_format) {
                /* ... match found, good. */
                pPPriv->yuv_format = yuvlist[fmt].v4l_palette;
                pPPriv->myfmt = pPPriv->format+i;
                xf86DrvMsg(pScrn->scrnIndex, X_INFO,
                           "v4l[%s]: using hw video scaling [%4.4s].\n",
                           dev,(char*)&(pPPriv->format[i].image->id));
                return;
            }
        }
    }
}
and this 'negotiation' now fails.

I think I'll file a bug to Nvidia. Hopefully this can be fixed in some way, either by twiddling
the nv or the v4l driver. If the latter, I'd even look into the stuff myself, just need a pointer
or two on which way to go.

Apart from that, as great as tvtime might be, I just won't spend 20+% cpu just for
watching tv. Rather, I'd return my new 6600GT card and downgrade to the previous one.

Thanks a lot, Brueno.

PS: This thread http://www.nvnews.net/vbulletin/showthread.php?t=43619 deals with
the same issue, btw.

Last edited by brueno; 08-01-05 at 11:20 AM.
brueno is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 08:25 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.