[MPlayer-dev-eng] [PATCH] Support RGB framebuffer

Alexander Stein alexander.stein at systec-electronic.com
Wed Apr 6 08:42:11 CEST 2011


On Tuesday 05 April 2011, 18:31:03 Reimar Döffinger wrote:
> On Tue, Apr 05, 2011 at 05:52:52PM +0200, Alexander Stein wrote:
> > using this patch vo_fbdev uses the proper coloring on my RGB15 display
> > used by a ARM AT91SAM9263. Otherwise I only get BGR output. Best seen
> > with a webcam showing my blue ethernet cable which is displayed in
> > orange.
> 
> This seems _hugely_ too complex, have you tested the patch I sent back
> then? (attached)

I tried your patch and it didn't work. The command was
>./mplayer -tv driver=v4l2:device=/dev/video0 tv:// -nodouble
The output with your patch:
> MPlayer SVN-r33098-4.4.1 (C) 2000-2011 MPlayer Team
> 
> Playing tv://.
> TV file format detected.
> Selected driver: v4l2
> 
>  name: Video 4 Linux 2 input
>  author: Martin Olschewski <olschewski at zpr.uni-koeln.de>
>  comment: first try, more to come ;-)
> 
> v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM
> was used instead. Selected device: UVC Camera (046d:0804)
> 
>  Capabilities:  video capture  streaming
>  supported norms:
>  inputs: 0 = Camera 1;
>  Current input: 0
>  Current format: YUYV
> 
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl set format failed: Invalid argument
> tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
> v4l2: ioctl enum norm failed: Invalid argument
> Error: Cannot set norm!
> Selected input hasn't got a tuner!
> v4l2: ioctl set mute failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> ==========================================================================
> Opening video decoder: [raw] RAW Uncompressed Video
> Could not find matching colorspace - retrying with -vf scale...
> Opening video filter: [scale]
> Movie-Aspect is undefined - no prescaling applied.
> [swscaler @ 0xf07340] BICUBIC scaler, from yuyv422 to rgb555le using C
> VO: [fbdev] 176x144 => 176x144 BGR 15-bit
> Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
> ==========================================================================
> Audio: no sound
> Starting playback...
> ^C   0.0  34/ 34 ??% ??% ??,?% 0 0
> 
> 
> MPlayer interrupted by signal 2 in module: filter_video
> V:   0.0  35/ 35 ??% ??% ??,?% 0 0
> v4l2: ioctl set mute failed: Invalid argument
> v4l2: 37 frames successfully processed, 3 frames dropped.
> 
> Exiting... (Quit)

The output with my patch:
> MPlayer SVN-r33098-4.4.1 (C) 2000-2011 MPlayer Team
> 
> Playing tv://.
> TV file format detected.
> Selected driver: v4l2
> 
>  name: Video 4 Linux 2 input
>  author: Martin Olschewski <olschewski at zpr.uni-koeln.de>
>  comment: first try, more to come ;-)
> 
> v4l2: your device driver does not support VIDIOC_G_STD ioctl, VIDIOC_G_PARM
> was used instead. Selected device: UVC Camera (046d:0804)
> 
>  Capabilities:  video capture  streaming
>  supported norms:
>  inputs: 0 = Camera 1;
>  Current input: 0
>  Current format: YUYV
> 
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl set format failed: Invalid argument
> v4l2: ioctl set format failed: Invalid argument
> tv.c: norm_from_string(pal): Bogus norm parameter, setting default.
> v4l2: ioctl enum norm failed: Invalid argument
> Error: Cannot set norm!
> Selected input hasn't got a tuner!
> v4l2: ioctl set mute failed: Invalid argument
> v4l2: ioctl query control failed: Invalid argument
> ==========================================================================
> Opening video decoder: [raw] RAW Uncompressed Video
> Could not find matching colorspace - retrying with -vf scale...
> Opening video filter: [scale]
> Movie-Aspect is undefined - no prescaling applied.
> [swscaler @ 0xf07340] BICUBIC scaler, from yuyv422 to bgr555le using C
> VO: [fbdev] 176x144 => 176x144 RGB 15-bit
> Selected video codec: [rawyuy2] vfm: raw (RAW YUY2)
> ==========================================================================
> Audio: no sound
> Starting playback...
> ^C   0.0  51/ 51 ??% ??% ??,?% 0 0
> 
> 
> MPlayer interrupted by signal 2 in module: video_read_frame
> V:   0.0  52/ 52 ??% ??% ??,?% 0 0
> v4l2: ioctl set mute failed: Invalid argument
> v4l2: 54 frames successfully processed, 3 frames dropped.
> 
> Exiting... (Quit)

The differences are in this lines:
> [swscaler @ 0xf07340] BICUBIC scaler, from yuyv422 to rgb555le using C
> VO: [fbdev] 176x144 => 176x144 BGR 15-bit
vs.
> [swscaler @ 0xf07340] BICUBIC scaler, from yuyv422 to bgr555le using C
> VO: [fbdev] 176x144 => 176x144 RGB 15-bit

Mh, seeing this output my patch also isn't perfect (see "yuyv422 to bgr555le")

Best regards,
Alexander


More information about the MPlayer-dev-eng mailing list