Removed converting byte order on big endian systems from cDvbOsd::Flush()

This commit is contained in:
Klaus Schmidinger 2005-05-22 11:03:57 +02:00
parent 2d3702b850
commit dc7f2d3624
3 changed files with 12 additions and 6 deletions

View File

@ -1338,3 +1338,11 @@ Wolfgang Fritz <wolfgang.fritz@gmx.net>
Michael Reinelt <reinelt@eunet.at> Michael Reinelt <reinelt@eunet.at>
for reporting a problem with the EPG scan on systems that don't use DiSEqC for reporting a problem with the EPG scan on systems that don't use DiSEqC
Johannes Stezenbach <js@linuxtv.org>
for pointing out that the byte swap for big endian systems in cDvbOsd::Flush()
is wrong
Paavo Hartikainen <pahartik@sci.fi>
for verifying that the byte swap for big endian systems in cDvbOsd::Flush() was
wrong

View File

@ -3513,7 +3513,7 @@ Video Disk Recorder Revision History
- Fixed a wrong inheritance in libsi's SubtitlingDescriptor::Subtitling (thanks to - Fixed a wrong inheritance in libsi's SubtitlingDescriptor::Subtitling (thanks to
Marco Schlüßler). Marco Schlüßler).
2005-05-16: Version 1.3.25 2005-05-22: Version 1.3.25
- Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- Some cable providers don't mark short channel names according to the standard, - Some cable providers don't mark short channel names according to the standard,
@ -3546,3 +3546,5 @@ Video Disk Recorder Revision History
such descriptions were available in the EPG data when the recording was made, such descriptions were available in the EPG data when the recording was made,
and are stored in the info.vdr file). and are stored in the info.vdr file).
- Avoiding extra blanks at the end of names of instant recordings. - Avoiding extra blanks at the end of names of instant recordings.
- Removed converting byte order on big endian systems from cDvbOsd::Flush(),
which, according to Johannes Stezenbach and Paavo Hartikainen, is wrong.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: dvbosd.c 1.26 2005/02/12 15:36:31 kls Exp $ * $Id: dvbosd.c 1.27 2005/05/22 10:57:45 kls Exp $
*/ */
#include "dvbosd.h" #include "dvbosd.h"
@ -151,10 +151,6 @@ void cDvbOsd::Flush(void)
for (int i = 0; i < NumColors; i++) { for (int i = 0; i < NumColors; i++) {
// convert AARRGGBB to AABBGGRR (the driver expects the colors the wrong way): // convert AARRGGBB to AABBGGRR (the driver expects the colors the wrong way):
colors[i] = (Colors[i] & 0xFF000000) | ((Colors[i] & 0x0000FF) << 16) | (Colors[i] & 0x00FF00) | ((Colors[i] & 0xFF0000) >> 16); colors[i] = (Colors[i] & 0xFF000000) | ((Colors[i] & 0x0000FF) << 16) | (Colors[i] & 0x00FF00) | ((Colors[i] & 0xFF0000) >> 16);
#if __BYTE_ORDER == __BIG_ENDIAN
// actually the driver itself should access the bytes according to the current endianness!
colors[i] = ((colors[i] & 0xFF) << 24) | ((colors[i] & 0xFF00) << 8) | ((colors[i] & 0xFF0000) >> 8) | ((colors[i] & 0xFF000000) >> 24);
#endif
} }
Colors = colors; Colors = colors;
//TODO end of stuff that should be fixed in the driver //TODO end of stuff that should be fixed in the driver