summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS8
-rw-r--r--HISTORY4
-rw-r--r--dvbosd.c6
3 files changed, 12 insertions, 6 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 39d70776..ba23c73f 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -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
diff --git a/HISTORY b/HISTORY
index 44ba0212..49c50ee1 100644
--- a/HISTORY
+++ b/HISTORY
@@ -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.
diff --git a/dvbosd.c b/dvbosd.c
index 360825fc..458ec9ce 100644
--- a/dvbosd.c
+++ b/dvbosd.c
@@ -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