93 lines
4.2 KiB
Diff
93 lines
4.2 KiB
Diff
http://bugs.gentoo.org/319113
|
|
http://repos.archlinux.org/wsvn/community/xbmc/trunk/libpng14.patch
|
|
|
|
diff -Nur xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp
|
|
--- xbmc-9.11.orig/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2008-07-18 23:40:53.000000000 +0300
|
|
+++ xbmc-9.11/xbmc/lib/cximage-6.0/CxImage/ximapng.cpp 2010-01-20 21:55:11.000000000 +0200
|
|
@@ -142,9 +142,9 @@
|
|
if (info_ptr->num_trans!=0){ //palette transparency
|
|
if (info_ptr->num_trans==1){
|
|
if (info_ptr->color_type == PNG_COLOR_TYPE_PALETTE){
|
|
- info.nBkgndIndex = info_ptr->trans_values.index;
|
|
+ info.nBkgndIndex = info_ptr->trans_color.index;
|
|
} else{
|
|
- info.nBkgndIndex = info_ptr->trans_values.gray>>nshift;
|
|
+ info.nBkgndIndex = info_ptr->trans_color.gray>>nshift;
|
|
}
|
|
}
|
|
if (info_ptr->num_trans>1){
|
|
@@ -152,7 +152,7 @@
|
|
if (pal){
|
|
DWORD ip;
|
|
for (ip=0;ip<min(head.biClrUsed,(unsigned long)info_ptr->num_trans);ip++)
|
|
- pal[ip].rgbReserved=info_ptr->trans[ip];
|
|
+ pal[ip].rgbReserved=info_ptr->trans_alpha[ip];
|
|
for (ip=info_ptr->num_trans;ip<head.biClrUsed;ip++){
|
|
pal[ip].rgbReserved=255;
|
|
}
|
|
@@ -166,9 +166,9 @@
|
|
int num_trans;
|
|
png_color_16 *image_background;
|
|
if (png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, &image_background)){
|
|
- info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_values.red>>nshift);
|
|
- info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_values.green>>nshift);
|
|
- info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_values.blue>>nshift);
|
|
+ info.nBkgndColor.rgbRed = (BYTE)(info_ptr->trans_color.red>>nshift);
|
|
+ info.nBkgndColor.rgbGreen = (BYTE)(info_ptr->trans_color.green>>nshift);
|
|
+ info.nBkgndColor.rgbBlue = (BYTE)(info_ptr->trans_color.blue>>nshift);
|
|
info.nBkgndColor.rgbReserved = 0;
|
|
info.nBkgndIndex = 0;
|
|
}
|
|
@@ -417,12 +417,12 @@
|
|
if (info.nBkgndIndex >= 0){
|
|
info_ptr->num_trans = 1;
|
|
info_ptr->valid |= PNG_INFO_tRNS;
|
|
- info_ptr->trans = trans;
|
|
- info_ptr->trans_values.index = (BYTE)info.nBkgndIndex;
|
|
- info_ptr->trans_values.red = tc.rgbRed;
|
|
- info_ptr->trans_values.green = tc.rgbGreen;
|
|
- info_ptr->trans_values.blue = tc.rgbBlue;
|
|
- info_ptr->trans_values.gray = info_ptr->trans_values.index;
|
|
+ info_ptr->trans_alpha = trans;
|
|
+ info_ptr->trans_color.index = (BYTE)info.nBkgndIndex;
|
|
+ info_ptr->trans_color.red = tc.rgbRed;
|
|
+ info_ptr->trans_color.green = tc.rgbGreen;
|
|
+ info_ptr->trans_color.blue = tc.rgbBlue;
|
|
+ info_ptr->trans_color.gray = info_ptr->trans_color.index;
|
|
|
|
// the transparency indexes start from 0 for non grayscale palette
|
|
if (!bGrayScale && head.biClrUsed && info.nBkgndIndex)
|
|
@@ -443,7 +443,7 @@
|
|
trans[ip]=GetPaletteColor((BYTE)ip).rgbReserved;
|
|
info_ptr->num_trans = (WORD)nc;
|
|
info_ptr->valid |= PNG_INFO_tRNS;
|
|
- info_ptr->trans = trans;
|
|
+ info_ptr->trans_alpha = trans;
|
|
}
|
|
|
|
// copy the palette colors
|
|
diff -Nur xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc
|
|
--- xbmc-9.11.orig/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2008-07-30 23:35:38.000000000 +0300
|
|
+++ xbmc-9.11/xbmc/screensavers/rsxs-0.9/src/pngimage.cc 2010-01-20 22:21:01.000000000 +0200
|
|
@@ -65,7 +65,7 @@
|
|
(png_get_color_type(png, pngInfo) == PNG_COLOR_TYPE_GRAY) &&
|
|
png_get_bit_depth(png, pngInfo) < 8
|
|
)
|
|
- png_set_gray_1_2_4_to_8(png);
|
|
+ png_set_expand_gray_1_2_4_to_8(png);
|
|
if (png_get_valid(png, pngInfo, PNG_INFO_tRNS))
|
|
png_set_tRNS_to_alpha(png);
|
|
if (fullColor)
|
|
diff -Nur xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c
|
|
--- xbmc-9.11.orig/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2008-08-04 05:05:51.000000000 +0300
|
|
+++ xbmc-9.11/xbmc/visualizations/Goom/goom2k4-0/src/pngload.c 2010-01-20 22:16:23.000000000 +0200
|
|
@@ -94,7 +94,7 @@
|
|
png_set_palette_to_rgb (png_ptr);
|
|
|
|
if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8)
|
|
- png_set_gray_1_2_4_to_8 (png_ptr);
|
|
+ png_set_expand_gray_1_2_4_to_8 (png_ptr);
|
|
else if (color_type == PNG_COLOR_TYPE_GRAY ||
|
|
color_type == PNG_COLOR_TYPE_GRAY_ALPHA)
|
|
png_set_gray_to_rgb (png_ptr);
|