You are not logged in.

#1 2007-01-26 18:35:24

mouse256
Member
From: Antwerpen, Belgium
Registered: 2005-08-24
Posts: 247

Xv giving bad quality

Hi,

I'm currently using the opensource R300 drivers instead of the fglrx drivers. This makes beryl possible :-)
But I have a problem playing video's: the image quality is rather bad. It seems like it uses too few colors for playing a video. When I take a screengrab of the video, the screengrab is perfect. It also works fine when I use the fgrlx drivers, so the video isn't a problem.
To make clear what I want to say I made 2 images. The first one is the normal screengrab, and it looks good. The second one is the first one converted to an indexed image with the gimp and limited to 75 colors. This is very close to what it actually looks like when I play the video.
I have the problems in every player: Totem, gxine, vlc, mplayer.

I do think I have an explanation for this problem. But I'm not sure if this is correct, and I have no solution.
the output of xvinfo:

[19:32][tom@mouse256:~]$ xvinfo
X-Video Extension version 2.2
screen #0
  Adaptor #0: "ATI Radeon Video Overlay"
    number of ports: 1
    port base: 73
    operations supported: PutImage 
    supported visuals:
      depth 24, visualID 0x23
      depth 24, visualID 0x24
      depth 24, visualID 0x25
      depth 24, visualID 0x26
      depth 24, visualID 0x27
      depth 24, visualID 0x28
      depth 24, visualID 0x29
      depth 24, visualID 0x2a
      depth 24, visualID 0x2b
      depth 24, visualID 0x2c
      depth 24, visualID 0x2d
      depth 24, visualID 0x2e
      depth 24, visualID 0x2f
      depth 24, visualID 0x30
      depth 24, visualID 0x31
      depth 24, visualID 0x32
    number of attributes: 22
      "XV_DEVICE_ID" (range 0 to -1)
              client gettable attribute (current value is 108)
      "XV_LOCATION_ID" (range 0 to -1)
              client gettable attribute (current value is 109)
      "XV_INSTANCE_ID" (range 0 to -1)
              client gettable attribute (current value is 110)
      "XV_DUMP_STATUS" (range 0 to 1)
              client settable attribute
      "XV_SET_DEFAULTS" (range 0 to 1)
              client settable attribute
      "XV_AUTOPAINT_COLORKEY" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_COLORKEY" (range 0 to -1)
              client settable attribute
              client gettable attribute (current value is 30)
      "XV_DOUBLE_BUFFER" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 1)
      "XV_OVERLAY_ALPHA" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 255)
      "XV_GRAPHICS_ALPHA" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 255)
      "XV_ALPHA_MODE" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_BRIGHTNESS" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_SATURATION" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_COLOR" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_HUE" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_RED_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_GREEN_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_BLUE_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_SWITCHCRT" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_GAMMA" (range 100 to 10000)
              client settable attribute
              client gettable attribute (current value is 1000)
      "XV_COLORSPACE" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 2048 x 2048
    Number of image formats: 8
      id: 0x41424752 (RGBA)
        guid: 52474241-0000-0010-8000-00aa00389b71
        bits per pixel: 32
        number of planes: 1
        type: RGB (packed)
        depth: 32
        red, green, blue masks: 0xff0000, 0xff00, 0xff
      id: 0x0
        guid: 52474200-0000-0010-8000-00aa00389b71
        bits per pixel: 24
        number of planes: 1
        type: RGB (packed)
        depth: 24
        red, green, blue masks: 0xff0000, 0xff00, 0xff
      id: 0x54424752 (RGBT)
        guid: 52474254-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 16
        red, green, blue masks: 0x7c00, 0x3e0, 0x1f
      id: 0x32424752 (RGB2)
        guid: 52474200-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 16
        red, green, blue masks: 0xf800, 0x7e0, 0x1f
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x59565955 (UYVY)
        guid: 55595659-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)

and the output of mplayer when I start a movie:

VIDEO:  [XVID]  576x336  24bpp  25.000 fps  773.8 kbps (94.5 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [oss] 44100Hz 2ch s16le (2 bytes per sample)
Starting playback...
VDec: vo config request - 576 x 336 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.71:1 - prescaling to correct movie aspect.
VO: [xv] 576x336 => 576x336 Planar YV12 
A:   2.4 V:   2.4 A-V:  0.006 ct: -0.000  61/ 61 10%  0%  0.5% 1 0 
Exiting... (Quit)

So it is using YV12 for video playback, which is 12bits according to xvinfo. I think that might be my problem?
Can anybody confirm this? and does anybody know how to fix this?

Offline

#2 2007-01-28 08:49:35

mouse256
Member
From: Antwerpen, Belgium
Registered: 2005-08-24
Posts: 247

Re: Xv giving bad quality

Nobody?
Maybe can somebody just post his/her output from xvinfo and the output from mplayer when starting an xvid movie? then I can at least compare that.

Offline

#3 2007-01-28 12:57:23

waltm
Member
From: alabama
Registered: 2006-03-21
Posts: 69

Re: Xv giving bad quality

mouse256 wrote:

Nobody?
Maybe can somebody just post his/her output from xvinfo and the output from mplayer when starting an xvid movie? then I can at least compare that.

Now that I can do.  Don't use beryl though

mplayer output:

AVI file format detected.
VIDEO:  [XVID]  640x272  24bpp  23.976 fps  822.7 kbps (100.4 kbyte/s)
Clip info:
Software: VirtualDubMod 1.5.10.2 (build 2540/release)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffodivx] vfm: ffmpeg (FFmpeg MPEG-4)
==========================================================================
<snip audio stuff>
VDec: vo config request - 640 x 272 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 2.35:1 - prescaling to correct movie aspect.
VO: [xv] 640x272 => 640x272 Planar YV12

xvinfo:

[waltm@basselope ~]$ xvinfo
X-Video Extension version 2.2
screen #0
  Adaptor #0: "ATI Radeon Video Overlay"
    number of ports: 1
    port base: 65
    operations supported: PutImage
    supported visuals:
      depth 24, visualID 0x23
      depth 24, visualID 0x24
      depth 24, visualID 0x25
      depth 24, visualID 0x26
      depth 24, visualID 0x27
      depth 24, visualID 0x28
      depth 24, visualID 0x29
      depth 24, visualID 0x2a
    number of attributes: 22
      "XV_DEVICE_ID" (range 0 to -1)
              client gettable attribute (current value is 108)
      "XV_LOCATION_ID" (range 0 to -1)
              client gettable attribute (current value is 109)
      "XV_INSTANCE_ID" (range 0 to -1)
              client gettable attribute (current value is 110)
      "XV_DUMP_STATUS" (range 0 to 1)
              client settable attribute
      "XV_SET_DEFAULTS" (range 0 to 1)
              client settable attribute
      "XV_AUTOPAINT_COLORKEY" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_COLORKEY" (range 0 to -1)
              client settable attribute
              client gettable attribute (current value is 30)
      "XV_DOUBLE_BUFFER" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 1)
      "XV_OVERLAY_ALPHA" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 255)
      "XV_GRAPHICS_ALPHA" (range 0 to 255)
              client settable attribute
              client gettable attribute (current value is 255)
      "XV_ALPHA_MODE" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_BRIGHTNESS" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_CONTRAST" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_SATURATION" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_COLOR" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_HUE" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_RED_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_GREEN_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_BLUE_INTENSITY" (range -1000 to 1000)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_SWITCHCRT" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
      "XV_GAMMA" (range 100 to 10000)
              client settable attribute
              client gettable attribute (current value is 1000)
      "XV_COLORSPACE" (range 0 to 1)
              client settable attribute
              client gettable attribute (current value is 0)
    maximum XvImage size: 2048 x 2048
    Number of image formats: 8
      id: 0x41424752 (RGBA)
        guid: 52474241-0000-0010-8000-00aa00389b71
        bits per pixel: 32
        number of planes: 1
        type: RGB (packed)
        depth: 32
        red, green, blue masks: 0xff0000, 0xff00, 0xff
      id: 0x0
        guid: 52474200-0000-0010-8000-00aa00389b71
        bits per pixel: 24
        number of planes: 1
        type: RGB (packed)
        depth: 24
        red, green, blue masks: 0xff0000, 0xff00, 0xff
      id: 0x54424752 (RGBT)
        guid: 52474254-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 16
        red, green, blue masks: 0x7c00, 0x3e0, 0x1f
      id: 0x32424752 (RGB2)
        guid: 52474200-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: RGB (packed)
        depth: 16
        red, green, blue masks: 0xf800, 0x7e0, 0x1f
      id: 0x32595559 (YUY2)
        guid: 59555932-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x59565955 (UYVY)
        guid: 55595659-0000-0010-8000-00aa00389b71
        bits per pixel: 16
        number of planes: 1
        type: YUV (packed)
      id: 0x32315659 (YV12)
        guid: 59563132-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)
      id: 0x30323449 (I420)
        guid: 49343230-0000-0010-8000-00aa00389b71
        bits per pixel: 12
        number of planes: 3
        type: YUV (planar)

Offline

#4 2007-01-28 13:02:37

mouse256
Member
From: Antwerpen, Belgium
Registered: 2005-08-24
Posts: 247

Re: Xv giving bad quality

Thanks, So it seems I'm wrong, your mplayer is also using YV12 which seems to be 12bit.
Well then, I don't know it anymore, maybe somebody does?

Offline

Board footer

Powered by FluxBB