summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcboesch <cboesch@b3059339-0415-0410-9bf9-f77b7e298cf2>2011-02-01 20:45:41 +0000
committerUoti Urpala <uau@glyph.nonexistent.invalid>2011-02-15 19:14:34 +0200
commitd037ba7331b6eabb9b78cf7b31d6916691b525f6 (patch)
tree31a8df4dd43898c7936737aecd8c06eed41b4844
parenta353f11132a6716296be1a31b6ada28b8122f914 (diff)
downloadmpv-d037ba7331b6eabb9b78cf7b31d6916691b525f6.tar.bz2
mpv-d037ba7331b6eabb9b78cf7b31d6916691b525f6.tar.xz
vd_mpng: libpng API update, use color type getter
Use color type getter instead of direct access to private member. Using the getter is mandatory since recent libpng 1.5 release. Patch by Gianluigi Tiesi (mplayer - netfarm it) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32840 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--libmpcodecs/vd_mpng.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/libmpcodecs/vd_mpng.c b/libmpcodecs/vd_mpng.c
index 13dcfdbf78..c430566c70 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)