Opened 15 years ago

Closed 13 years ago

#8 closed defect (worksforme)

big endian bug, colours displayed incorrectly

Reported by: egger@… Owned by: reimar
Priority: very important Component: vo
Version: HEAD Severity: critical
Keywords: Cc: diego@…
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:

Description

Since 1.0pre3 mplayer has a problem to show the
colours correctly (blue faces ...).
The version 1.0pre2 didn't have this problem.
I've read somewhere that it should be a big
endian problem and hoped that this bug will
be fixed soon. I've written to mplayer mailing
list, too but without any answer.
Even the actual cvs have the colour problem
on sparc vis system. I'm using an ultra5
(UltrasparcII 440 MHz with Solaris 2.8)
It would be great if this bug can be fixed
because watching videos with the wrong colour
is very disturbing.
I hope that mplayer can be used soon for watching
videos on sparc solaris.

Attachments (3)

sparc-test.diff (526 bytes) - added by reimar 15 years ago.
for testing, not a fix
vo_x11_colfix.diff (3.3 KB) - added by reimar 15 years ago.
real fix? please test
vo_x11_colfix.2.diff (3.3 KB) - added by reimar 15 years ago.
Yet another try

Download all attachments as: .zip

Change History (25)

comment:1 Changed 15 years ago by reimar

(In reply to comment #0)

be fixed soon. I've written to mplayer mailing
list, too but without any answer.

When? Where?

Please read http://www.mplayerhq.hu/DOCS/HTML/en/bugreports.html
With that little information and without a system to test there is hardly a
chance this will be fixed!

comment:2 Changed 15 years ago by egger@…

First entry to the mainling list:
########################################################
Last Modified Date: 2004-01-22 15:09:41 CET
Document Size: 3829
Mailing List: mplayer-users

Hallo,
my originally problem was that mplayer (mplayer1pre2) has problems
with watching some *copy righted* dvds and -vo x11 so I tried
MPlayer 1.0pre3-3.3.2.
Now watching this dvds was possible but with e.g.
mplayer -vo x11 -cache 4096 -alang en dvd://1 -chapter 1 -framedrop
all colours went wrong => blue faces ...

I tried several parameter combinations and recognized that with some parameter
combinations I can get the correct colours again.
1.
Using sdl as driver with -vo sdl shows correct colour
e.g.
mplayer -vo sdl -cache 4096 -alang en dvd://1 -chapter 1 -framedrop
2.
scaling the video
mplayer -vo x11 -vf scale=360:288:0:100 -cache 4096 -alang en dvd://1 -chapter 1
-framedrop -sws 4
3.
changing the colours with rgb2bgr=swap
mplayer -vo x11 -vf rgb2bgr=swap -cache 4096 -alang en dvd://1 -chapter 1
-framedrop

Every of my three workarounds are slower or not so nice than using
the x11 driver direct especially -vf rgb2bgr=swap slows down the video
output.
I don't know whats wrong with my mplayer version. I tried the default
compiler options and then for ultrasparc optimized options but with
every DVD (not only copy righted DVDs) I get the wrong colours now.

I'm using the mediaLib from sun Version 2.2

Can anybody help me? Is mplayer version 1.0pre3-3.3.2 tested on sparc
solaris (2.8) with medialib and -vo x11?
Could that be a bug?

I would be happy if anybody could help me.

Kind regards

Roland

#################################################################
Second entry
Last Modified Date: 2004-02-29 23:43:27 CET
Document Size: 4221
Mailing List: mplayer-us

Hallo,
I try to use mplayer on a sparc machine (ultra sparc,
SunOS sonne 5.8 Generic_108528-26 sun4u sparc SUNW,Ultra-5_10
with Xsun and gcc 3.3.2)
I've read somewhere that there a known problems in the mplayer
version with big endian systems running mplayer 1.0pre3 or later
and tried to find something about my problems in the bugreport.html
but didn't find a description of the problem so I try to report my
problems here.

My originally problem was that mplayer (mplayer1pre2) has problems
with watching some *copy righted* dvds and -vo x11 so I tried
MPlayer 1.0pre3-3.3.2 and dev-CVS-040229-22:52-3.3.2.
Now watching this dvds was possible but with e.g.
mplayer -vo x11 -cache 4096 -alang en dvd://1 -chapter 1 -framedrop
all colours went wrong => blue faces ...

I tried several parameter combinations and recognized that with some parameter
combinations I can get the correct colours again.
1.
Using sdl as driver with -vo sdl shows correct colour
e.g.
mplayer -vo sdl -cache 4096 -alang en dvd://1 -chapter 1 -framedrop
2.
scaling the video
mplayer -vo x11 -vf scale=360:288:0:100 -cache 4096 -alang en dvd://1 -chapter 1
-
framedrop -sws 4
3.
changing the colours with rgb2bgr=swap
mplayer -vo x11 -vf rgb2bgr=swap -cache 4096 -alang en dvd://1 -chapter 1
-framedr
op

Every of my three workarounds are slower or not so nice than using
the x11 driver direct especially -vf rgb2bgr=swap slows down the video
output.
I don't know whats wrong with my mplayer version. I tried the default
compiler options and then for ultrasparc optimized options but with
every DVD (not only copy righted DVDs) I get the wrong colours now.

I'm using the mediaLib from sun Version 2.2

Can anybody help me? Is mplayer version 1.0pre3-3.3.2 tested on sparc
solaris (2.8) with medialib and -vo x11?
Could that be a bug?

I would be happy if anybody could help me.

Kind regards

Roland

################################################

System Information
Solaris 2.8
SunOS sonne 5.8 Generic_117350-02 sun4u sparc SUNW,Ultra-5_10

libc:
-rw-r--r-- 1 root bin 1790004 Apr 28 21:31 /lib/libc.a
lrwxrwxrwx 1 root root 11 Dez 1 2003 /lib/libc.so ->
./libc.so.1
-rwxr-xr-x 1 root bin 1158072 Apr 28 21:31 /lib/libc.so.1

gcc version:
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.8/3.3.2/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
Thread model: posix
gcc version 3.3.2

ld and as:
ld -v
GNU ld version 2.11.2 (with BFD 2.11.2)
as -v
GNU assembler version 2.11.2 (sparc-sun-solaris2.8) using BFD version 2.11.2

BUT used are:
--with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld
/usr/ccs/bin/as
/usr/ccs/bin/as: Sun WorkShop? 6 2003/12/18 Compiler Common 6.0 Patch 114802-02
/usr/ccs/bin/ld
ld: Software Generation Utilities - Solaris Link Editors: 5.8-1.286

depth of root window: 24 planes

System with prtdiag
####################
System Configuration: Sun Microsystems sun4u Sun Ultra 5/10 UPA/PCI
(UltraSPARC-IIi 440MHz)
System clock frequency: 110 MHz
Memory size: 512 Megabytes

========================= CPUs =========================

Run Ecache CPU CPU

Brd CPU Module MHz MB Impl. Mask
--- --- ------- ----- ------ ------ ----

0 0 0 440 2,0 12 9.0

========================= IO Cards =========================

Bus# Freq

Brd Type MHz Slot Name Model
--- ---- ---- ---- -------------------------------- ----------------------

0 PCI-1 33 1 ebus
0 PCI-1 33 1 network-SUNW,hme
0 PCI-1 33 2 SUNW,m64B ATY,GT-C
0 PCI-1 33 3 ide-pci1095,646.1095.646.3

No failures found in System
===========================
The colour problem is not only a problem of playing
dvd but also a problem for playing other videos e.g. *.avi
files:
mplayer -v /cdrom/cdrom0/124_2407.avi >& mplayer.log
MPlayer dev-CVS-040701-00:04-3.3.2 (C) 2000-2004 MPlayer Team

CPU: Sun Sparc
Reading config file /export/home/roland/opt/etc/mplayer/mplayer.conf: No such
file or directory
Reading config file /export/home/roland/.mplayer/config
Reading /export/home/roland/.mplayer/codecs.conf: Can't open
'/export/home/roland/.mplayer/codecs.conf': No such file or directory
Reading /export/home/roland/opt/etc/mplayer/codecs.conf: Can't open
'/export/home/roland/opt/etc/mplayer/codecs.conf': No such fil
e or directory
Using built-in default codecs.conf.
CommandLine?: '-v' '/cdrom/cdrom0/124_2407.avi'
init_freetype
get_path('font/font.desc') -> '/export/home/roland/.mplayer/font/font.desc'
font: can't open file: /export/home/roland/.mplayer/font/font.desc
font: can't open file: /export/home/roland/opt/share/mplayer/font/font.desc
Using Unoptimized OnScreenDisplay?
Using usleep() timing
get_path('input.conf') -> '/export/home/roland/.mplayer/input.conf'
Can't open input config file /export/home/roland/.mplayer/input.conf: No such
file or directory
Can't open input config file /export/home/roland/opt/etc/mplayer/input.conf: No
such file or directory
Falling back on default (hardcoded) input config
get_path('124_2407.avi.conf') ->
'/export/home/roland/.mplayer/124_2407.avi.conf'

Playing /cdrom/cdrom0/124_2407.avi.
[file] File size is 1852340 bytes
STREAM: [file] /cdrom/cdrom0/124_2407.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x15A
======= AVI Header =======
us/frame: 66666 (fps=15,000)
max bytes/sec: 287954
padding: 0
MainAVIHeader.dwFlags: (65552) HAS_INDEX WAS_CAPTUREFILE
frames total: 105 initial: 0
streams: 2
Suggested BufferSize?: 18462
Size: 320 x 240
==========================
list_end=0xD4
==> Found video stream: 0

STREAM Header =====

Type: sdiv FCC: gpjm (67706A6D)
Flags: 0
Priority: 0 Language: 0
InitialFrames?: 0
Rate: 1000000/66666 = 15,000
Start: 0 Len: 105
Suggested BufferSize?: 18462
Quality 10000
Sample size: 0
==========================
found 'bih', 40 bytes of 40
======= VIDEO Format ======

biSize 40
biWidth 320
biHeight 240
biPlanes 1
biBitCount 24
biCompression 1196444237='GPJM'
biSizeImage 230400

===========================
list_end=0x138
==> Found audio stream: 1

STREAM Header =====

Type: sdua FCC: (0)
Flags: 0
Priority: 0 Language: 0
InitialFrames?: 0
Rate: 11024/1 = 11024,000
Start: 0 Len: 77168
Suggested BufferSize?: 11024
Quality 10000
Sample size: 1
==========================
found 'wf', 16 bytes of 18
======= WAVE Format =======
Format Tag: 1 (0x1)
Channels: 1
Samplerate: 11024
avg byte/sec: 11024
Block align: 1
bits/sample: 8
cbSize: 0
===========================
hdr=Digitization Time size=26
Digitization Time: Sun Apr 25 13:10:57 2004

list_end=0x17A
hdr=Software size=12
Software : CanonMVI01
list_end=0x1C3CAC
Found movie at 0x80C - 0x1C3CAC
Reading INDEX block, 112 chunks for 105 frames (fpos=0)
AVI index offset: 0x808 (movi=0x80C idx0=0x4 idx1=0x2B1C)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=1770416 (105) audio size=77168 (77168)
VIDEO: [GPJM] 320x240 24bpp 15,000 fps 2023,4 kbps (247,0 kbyte/s)
[V] filefmt:3 fourcc:0x47504A4D size:320x240 fps:15,00 ftime:=0,0667
Clip info:

Digitization Time: Sun Apr 25 13:10:57 2004

Software: CanonMVI01

get_path('sub/') -> '/export/home/roland/.mplayer/sub/'
get_path('default.sub') -> '/export/home/roland/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
dec_audio: Allocating 2048 + 65536 = 67584 bytes for output buffer.
AUDIO: 11024 Hz, 1 ch, 8 bit (0x8), ratio: 11024->11024 (88,2 kbit)
Selected audio codec: [pcm] afm:pcm (Uncompressed PCM)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask: FFFFFF (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1024x768 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Unknown wm type...
[x11] Current fstype setting doesn't honour any X atoms
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffmjpeg] vfm:ffmpeg (FFmpeg MJPEG decoder)
==========================================================================
Checking audio filter chain for 11024Hz/1ch/8bit -> 11024Hz/2ch/8bit...
[libaf] Adding filter dummy
[dummy] Was reinitialized, rate=11024Hz, nch = 1, format = 0x00000003 and bps =
1
AF_pre: af format: 1 bps, 1 ch, 11024 hz, little endian unsigned int
AF_pre: 11024Hz 1ch Unsigned 8-bit
ao_sun: sample counter increment: 755
ao_sun: minimum sample counter increment per 10msec interval: 755

using sample counter based timing code

AO: [sun] 11024Hz 2ch Unsigned 8-bit (1 bps)
AO: Description: Sun audio output
AO: Author: jk@…
Building audio filter chain for 11024Hz/1ch/8bit -> 11024Hz/2ch/8bit...
[dummy] Was reinitialized, rate=11024Hz, nch = 1, format = 0x00000003 and bps =
1
[libaf] Adding filter channels
[channels] Changing number of channels to 2
[dummy] Was reinitialized, rate=11024Hz, nch = 1, format = 0x00000003 and bps =
1
Starting playback...
[libaf] Reallocating memory in module channels, old len = 0, new len = 8193
[ffmpeg] aspect_ratio: 0,000000
VDec: vo config request - 320 x 240 (preferred csp: Planar 422P)
Trying filter chain: vo
VDec: using Planar 422P as output csp (no 1)
Movie-Aspect is undefined - no prescaling applied.
VO Config (320x240->320x240,flags=0,'MPlayer',0x50323234)
SwScaler?: using unscaled Planar 422P -> BGR 32-bit special converter
REQ: flags=0x4C7 req=0x0
VO: [x11] 320x240 => 320x240 BGR 32-bit
VO: Description: X11 ( XImage/Shm )
VO: Author: Aaron Holtzman <aholtzma@…>
Sharing memory.
* [scale] Allocating mp_image_t, 320x240x16bpp YUV planar, 153600 bytes
* [vo] Allocating mp_image_t, 320x240x32bpp BGR packed, 307200 bytes
get_path('subfont.ttf') -> '/export/home/roland/.mplayer/subfont.ttf'
New_Face failed. Maybe the font path is wrong.
Please supply the text font file (~/.mplayer/subfont.ttf).
subtitle font: load_sub_face failed.
A: 0,1 V: 0,0 A-V: 0,074 ct: 0,000 1/ 1 0% 0% 0,0% 0 0 0%M*
[scale] Allocating mp_image_t,

320x240x16bpp YUV planar, 153600 bytes

A: 0,1 V: 0,1 A-V: 0,036 ct: 0,004 2/ 2 0% 0% 0,0% 0 0 0%MXXX
initial v_pts=0,933 a_pos=11
024 (1,000)
A: 0,1 V: 0,1 A-V: -0,002 ct: 0,003 3/ 3 0% 0% 0,0% 0 0 0%MA:
0,2 V: 0,2 A-V: -0,000 ct:

0,003 4/ 4 0% 0% 0,0% 0 0 0%MA: 0,3 V: 0,3 A-V: 0,002 ct:

0,004 5/ 5 0% 0% 0,0% 0 0

0%MA: 0,3 V: 0,3 A-V: -0,002 ct: 0,003 6/ 6 0% 0% 0,0% 0 0

0%MA: 0,4 V: 0,4 A-V
...
######################
MPlayer dev-CVS-040701-00:04-3.3.2 (C) 2000-2004 MPlayer Team

CPU: Sun Sparc
Reading config file /export/home/roland/opt/etc/mplayer/mplayer.conf: No such
file or directory
Reading config file /export/home/roland/.mplayer/config
Reading /export/home/roland/.mplayer/codecs.conf: Can't open
'/export/home/roland/.mplayer/codecs.conf': No

such file or directory

Reading /export/home/roland/opt/etc/mplayer/codecs.conf: Can't open
'/export/home/roland/opt/etc/mplayer/co
decs.conf': No such file or directory
Using built-in default codecs.conf.
CommandLine?: '-v' 'tagesschau-kinospot.mpg'
init_freetype
get_path('font/font.desc') -> '/export/home/roland/.mplayer/font/font.desc'
font: can't open file: /export/home/roland/.mplayer/font/font.desc
font: can't open file: /export/home/roland/opt/share/mplayer/font/font.desc
Using Unoptimized OnScreenDisplay?
Using usleep() timing
get_path('input.conf') -> '/export/home/roland/.mplayer/input.conf'
Can't open input config file /export/home/roland/.mplayer/input.conf: No such
file or directory
Can't open input config file /export/home/roland/opt/etc/mplayer/input.conf: No
such file or directory
Falling back on default (hardcoded) input config
get_path('tagesschau-kinospot.mpg.conf') ->
'/export/home/roland/.mplayer/tagesschau-kinospot.mpg.conf'

Playing tagesschau-kinospot.mpg.
[file] File size is 10713640 bytes
STREAM: [file] tagesschau-kinospot.mpg
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 642290
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 642290
Checking for Nullsoft Streaming Video
DEMUXER: freeing demuxer at 642290
Checking for NuppelVideo?
DEMUXER: freeing demuxer at 642290
Checking for REAL
DEMUXER: freeing demuxer at 642290
Checking for SMJPEG
DEMUXER: freeing demuxer at 642290
DEMUXER: freeing demuxer at 642c30
DEMUXER: freeing demuxer at 642c30
Searching demuxer type for filename tagesschau-kinospot.mpg ext: .mpg
Checking for MOV
DEMUXER: freeing demuxer at 642c30
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 642c30
DEMUXER: freeing demuxer at 642c30
DEMUXER: freeing demuxer at 642c30
DEMUXER: freeing demuxer at 642c30
DEMUXER: freeing demuxer at 642c30
DEMUXER: freeing demuxer at 642c30
Checking for PVA
DEMUXER: freeing demuxer at 642c30
Checking for MPEG-TS...
TRIED UP TO POSITION 68491, FOUND 47, packet_size= 0, SEEMS A TS? 0
DEMUXER: freeing demuxer at 642c30
Checking for LMLM4 Stream Format
Invalid packet in LMLM4 stream: ch=0 size=553648376
LMLM4 Stream Format not found
DEMUXER: freeing demuxer at 642c30
system stream synced at 0x0 (11)!
==> Found video stream: 0
MPEG-PS file format detected.
==> Found audio stream: 0
Searching for sequence header... OK!
VIDEO: MPEG1 352x288 (aspect 8) 25,000 fps 1150,0 kbps (143,8 kbyte/s)
[V] filefmt:2 fourcc:0x10000001 size:352x288 fps:25,00 ftime:=0,0400
get_path('sub/') -> '/export/home/roland/.mplayer/sub/'
get_path('default.sub') -> '/export/home/roland/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: using generic C decore!
MP3lib: init layer2&3 finished, tables done
MMPEG 1.0, Layer II, 44100 Hz 224 kbit Stereo, BPF: 732
Channels: 2, copyright: No, original: No, CRC: No, emphasis: 0
AUDIO: 44100 Hz, 2 ch, 16 bit (0x20), ratio: 28000->176400 (224,0 kbit)
Selected audio codec: [mp3] afm:mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask: FFFFFF (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1024x768 with depth 24 and 32 bpp (":0.0" => local display)
[x11] Unknown wm type...
[x11] Current fstype setting doesn't honour any X atoms
==========================================================================
Opening video decoder: [mpegpes] MPEG 1/2 Video passthrough
VDec: vo config request - 352 x 288 (preferred csp: Mpeg PES)
Trying filter chain: vo
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
SwScale? params: -1 x -1 (-1=no scaling)
Trying filter chain: scale vo
The selected video_out device is incompatible with this codec.
VDecoder init failed :(
Opening video decoder: [libmpeg2] MPEG 1/2 Video decoder libmpeg2-v0.3.1
Selected video codec: [mpeg12] vfm:libmpeg2 (MPEG 1 or 2 (libmpeg2))
==========================================================================
Checking audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
[libaf] Adding filter dummy
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000000 and bps =
2
AF_pre: af format: 2 bps, 2 ch, 44100 hz, big endian signed int
AF_pre: 44100Hz 2ch Signed 16-bit (Big-Endian)
ao_sun: sample counter increment: 504
ao_sun: minimum sample counter increment per 10msec interval: 504

using sample counter based timing code

AO: [sun] 44100Hz 2ch Signed 16-bit (Big-Endian) (2 bps)
AO: Description: Sun audio output
AO: Author: jk@…
Building audio filter chain for 44100Hz/2ch/16bit -> 44100Hz/2ch/16bit...
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000000 and bps =
2
[dummy] Was reinitialized, rate=44100Hz, nch = 2, format = 0x00000000 and bps =
2
Starting playback...
VDec: vo config request - 352 x 288 (preferred csp: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1,33:1 - prescaling to correct movie aspect.
VO Config (352x288->384x288,flags=0,'MPlayer',0x32315659)
VO: [x11] 352x288 => 384x288 Planar YV12
VO: Description: X11 ( XImage/Shm )
VO: Author: Aaron Holtzman <aholtzma@…>
Sharing memory.
SwScaler?: using unscaled Planar YV12 -> BGR 32-bit special converter
* [vo] Allocating mp_image_t, 352x288x12bpp YUV planar, 152064 bytes
A: 0,4 V: 0,0 A-V: 0,384 ct: 0,000 1/ 1 0% 0% 0,0% 0 0 0%M
*
[vo] Allocating mp_image_t, 35
2x288x12bpp YUV planar, 152064 bytes
get_path('subfont.ttf') -> '/export/home/roland/.mplayer/subfont.ttf'
New_Face failed. Maybe the font path is wrong.
Please supply the text font file (~/.mplayer/subfont.ttf).
subtitle font: load_sub_face failed.
A: 0,5 V: 0,3 A-V: 0,126 ct: 0,004 2/ 2 0% 0% 0,0% 0 0 0%
M*
[vo] Allocating mp_image_t, 35
2x288x12bpp YUV planar, 152064 bytes
A: 0,5 V: 0,4 A-V: 0,106 ct: 0,008 3/ 3 0% 0% 0,0% 0 0 0%MA:
0,5 V: 0,4 A-V: 0,077 ct:

0,012 4/ 4 0% 0% 0,0% 0 0 0%MA: 0,5 V: 0,5 A-V: 0,066 ct:

0,016 5/ 5 0% 0% 0,0% 0 0

0%MA: 0,6 V: 0,5 A-V: 0,065 ct: 0,020 6/ 6 0% 0% 0,0% 0 0

0%MA: 0,6 V
.....

comment:3 Changed 15 years ago by reimar

The code in vo_x11.c doesn't make too much sense to me. Please test what effect
the created patch has.
If you can, please try -vo gl and -vo gl:manyfmts for comparison, as I know that
code better ;-)

Changed 15 years ago by reimar

for testing, not a fix

comment:4 Changed 15 years ago by reimar

comment:5 Changed 15 years ago by reimar

  • Component changed from core to vo
  • Owner changed from alex@… to Reimar.Doeffinger@…

I think vo is the correct component. I'm also assigning this to me for now -
feel free to reassign if you think you can fix this.

comment:6 Changed 15 years ago by joy@…

i recognized a similar problem while running mplayer on fbdev and zaurus (arm).
color mismatch only occured while mplayer uses the swscaler to convert from yv12
to bgr. maybe i should open a new bug?

comment:7 Changed 15 years ago by egger@…

The code in vo_x11.c doesn't make too much sense to me. Please test what
effect the created patch has.
If you can, please try -vo gl and -vo gl:manyfmts for comparison, as I know
that code better ;-)

Hi,
I had a short break in testing mplayer on sparc solaris.
Some days ago I installed linux on my sparc machine and because
of a little mistake I let SILO corrupt my boot block, so I had to
repair it again ...

I tested -vo gl and -vo gl:manyfmts and they have colour problems, too,
other calours.
With -vo x11 green colour is still green but e.g. faces are blue.
With -vo x11 green colour seems blue and the faces are more green
With -vo gl:manyfmts green seems more brown,golden and faces
but the blue faces (-vo x11, green colour has less problems) are more
brown yellow and yellow is red. I`ll try the patch soon.

comment:8 Changed 15 years ago by egger@…

Hi,
I tested the patch now and congratulation it works for -vo x11!
Thank you very much.
Using OpenGl? with -vo gl and -vo gl:manyfmts has still the colour problem.
Maybe there`s something like the
out_format = IMGFMT_RGB32;
too.
The main bug is fixed, now (maybe we can change the bugzilla status).
For my sparc machine with a small 4MB onboard graphic card the OpenGl? is not so
important for watching dvd or other
videos but of course it would be creat if that bug can be fixed, too. If
you find something I`ll test the patch for you again.
Thank you very much.

Changed 15 years ago by reimar

real fix? please test

comment:9 Changed 15 years ago by reimar

The last patch was only a hack, could you please try this one? This one might
actually get applied...

comment:10 Changed 15 years ago by reimar

  • attachments.isobsolete changed from 0 to 1

comment:11 Changed 15 years ago by egger@…

Hi,
I tested the new patch now again but unfortunately it has
the colour problem for -vo x11 again. The good thing
is that -vo gl works now with the correct colours but on
my 4 MB graphic cards there no hardware OpenGL and so
it's very slow on my ultra5.
Another problem was in compiling mplayer.
uses now isinf and isinf isn't defined on
solaris and maybe some other unix versions.
So I added
#if defined (SVR4) && defined (sun)

int isinf(double x) { return !finite(x) && x==x; }

#endif
in on my local demux_audio.c.
It wolud be create if demux_audio.c can be corrected in the
official version and of course if the colour problem can
be solved again.
Kind regards

Roland

comment:12 Changed 15 years ago by reimar

(In reply to comment #10)

I tested the new patch now again but unfortunately it has
the colour problem for -vo x11 again. The good thing

I tried another version...

is that -vo gl works now with the correct colours but on

Well, I'm the maintainer of that and fixed it as soon as the color formats were
specified.

my 4 MB graphic cards there no hardware OpenGL and so
it's very slow on my ultra5.

Did you try "-vo gl:manyfmts"? It sometimes can more than double the speed, and
if you don't need color "-vf format=Y8" can give an extra boost...

Another problem was in compiling mplayer.
uses now isinf and isinf isn't defined on
solaris and maybe some other unix versions.
So I added
#if defined (SVR4) && defined (sun)

int isinf(double x) { return !finite(x) && x==x; }

#endif
in on my local demux_audio.c.

I think !finite should be used at that place anyway...

Changed 15 years ago by reimar

Yet another try

comment:13 Changed 15 years ago by reimar

  • attachments.isobsolete changed from 0 to 1

not checking for ximage->byte_order anymore

comment:14 Changed 15 years ago by egger@…

Thank you for your advice. -vo gl:manyfmts really makes it faster
but -vo x11 ist still faster. Perhaps I should try to get a card
with hardware OpenGL and watching DVD would be perfect ;)

Unfortunaltely commenting out ximage->byte_order
hasn't helped.
patched vo_x11.c
...
#ifdef WORDS_BIGENDIAN

#define IMGFMT_MY_RGB24 IMGFMT_BGR24
#define IMGFMT_MY_BGR24 IMGFMT_RGB24
commented out because it seems to only break things...

if (myximage->byte_order != MSBFirst)
#else

#define IMGFMT_MY_RGB24 IMGFMT_RGB24
#define IMGFMT_MY_BGR24 IMGFMT_BGR24

if (myximage->byte_order != LSBFirst)
#endif
rgb_format = !rgb_format;

switch ((bpp = myximage->bits_per_pixel))

...
Hmm, I think
rgb_format = !rgb_format;
is ok.
I commnented this line in and it works now.

diff main/libvo/vo_x11.c ~/vo_x11.c
481c481
< rgb_format = !rgb_format;
---

rgb_format = !rgb_format;

The line
if (myximage->byte_order != MSBFirst)
doesn't work somehow although we get into the
Bigendian part. I hope
rgb_format = !rgb_format;
isn't a bad problematic hack?
Kind regards

Roland

comment:15 Changed 15 years ago by egger@…

Hi,
a script with
mplayer -vo x11 -cache 4096 -alang de dvd://$1 -chapter $2 -framedrop -benchmark
works now with correct colours but a scaled video
mplayer -vo x11 -vf scale=360:293 -cache 4096 -alang de dvd://$1 -chapter $2 -fr
amedrop -benchmark
shows the wrong colours.

comment:16 Changed 15 years ago by dominik@…

That last patch seems to fix things for me. Well, somewhat. There is another
problem, which I'll try to describe later.

comment:17 Changed 15 years ago by egger@…

Hi,
3 days ago I fetched the latest cvs version and compiled it with the
patch. The good thing is, that mplayer compiled without errors on
Solaris with gcc 3.4.2 and the unscaled video has the right colours.
The bad thing is, it still has the colour problem with the scaled video.
So there seems to be still a problem in the scaling routine.

comment:18 Changed 14 years ago by diego@…

  • Cc diego@… added

Has this issue been resolved? I can test things on my big-endian Mac.

comment:19 Changed 13 years ago by dlewis@…

(In reply to comment #17)

Has this issue been resolved? I can test things on my big-endian Mac.

No, it has not be resolved, yet. The issue still remains on SPARC; however,
things appear to be OK on my PowerPC G4, but the vo_x11 driver is using Altivec
for that which might prevent the issue from occuring. I tried vo_x11 on my
POWER3 system (no Altivec) and the problem did not occur, but the framebuffer is
only 8-bit.

comment:20 Changed 13 years ago by diego@…

(In reply to comment #18)

(In reply to comment #17)

Has this issue been resolved? I can test things on my big-endian Mac.

No, it has not be resolved, yet. The issue still remains on SPARC; however,
things appear to be OK on my PowerPC G4, but the vo_x11 driver is using Altivec
for that which might prevent the issue from occuring.

Try disabling AltiVec? to confirm this...

comment:21 Changed 13 years ago by compn

new workaround : -vf swapuv

comment:22 Changed 13 years ago by lu_zero@…

  • Resolution set to worksforme
  • Status changed from new to closed

Reopen if the problem is still present, I cannot reproduce it on PPC

Note: See TracTickets for help on using tickets.