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>
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
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).
- 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,
and are stored in the info.vdr file).
- 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
* 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"
@ -151,10 +151,6 @@ void cDvbOsd::Flush(void)
for (int i = 0; i < NumColors; i++) {
// 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);
#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;
//TODO end of stuff that should be fixed in the driver