aboutsummaryrefslogtreecommitdiffstats
path: root/main/mplayer/mplayer-libpng-1.5.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/mplayer/mplayer-libpng-1.5.patch')
-rw-r--r--main/mplayer/mplayer-libpng-1.5.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/main/mplayer/mplayer-libpng-1.5.patch b/main/mplayer/mplayer-libpng-1.5.patch
new file mode 100644
index 0000000000..704c64c97a
--- /dev/null
+++ b/main/mplayer/mplayer-libpng-1.5.patch
@@ -0,0 +1,41 @@
+diff --git a/libmpcodecs/vd_mpng.c b/libmpcodecs/vd_mpng.c
+index 13dcfdb..c430566 100644
+--- a/libmpcodecs/vd_mpng.c
++++ b/libmpcodecs/vd_mpng.c
+@@ -74,7 +74,7 @@ static int pngLength;
+
+ static void pngReadFN( png_structp pngstr,png_bytep buffer,png_size_t size )
+ {
+- char * p = pngstr->io_ptr;
++ char * p = png_get_io_ptr(pngstr);
+ if(size>pngLength-pngPointer && pngLength>=pngPointer) size=pngLength-pngPointer;
+ fast_memcpy( buffer,(char *)&p[pngPointer],size );
+ pngPointer+=size;
+@@ -90,6 +90,7 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
+ png_uint_32 png_width=0,png_height=0;
+ int depth,color;
+ png_uint_32 i;
++ png_byte color_type;
+ mp_image_t* mpi;
+
+ int cols;
+@@ -111,7 +112,9 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
+ png_get_IHDR( png,info,&png_width,&png_height,&depth,&color,NULL,NULL,NULL );
+ png_set_bgr( png );
+
+- switch( info->color_type ) {
++ color_type=png_get_color_type(png, info);
++
++ switch( color_type ) {
+ case PNG_COLOR_TYPE_GRAY_ALPHA:
+ mp_msg( MSGT_DECVIDEO,MSGL_INFO,"Sorry gray scaled png with alpha channel not supported at moment.\n" );
+ break;
+@@ -128,7 +131,7 @@ static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags){
+ out_fmt=IMGFMT_BGR24;
+ break;
+ default:
+- mp_msg( MSGT_DECVIDEO,MSGL_INFO,"Sorry, unsupported PNG colorspace: %d.\n" ,info->color_type);
++ mp_msg( MSGT_DECVIDEO,MSGL_INFO,"Sorry, unsupported PNG colorspace: %d.\n" ,color_type);
+ }
+
+ // (re)init libvo if image parameters changed (width/height/colorspace)