Created
July 25, 2011 20:49
-
-
Save gordolio/1105164 to your computer and use it in GitHub Desktop.
mplayer 1.0rc4 fails to build on MacOSX Lion. Lion ships with libpng 1.5. This fix allows mplayer 1.0rc4 to work with libpng 1.5. The diff was taken from r32840 on mplayer svn
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Very helpful, thanks!