Lines 74-80
Link Here
|
74 |
|
74 |
|
75 |
static void pngReadFN( png_structp pngstr,png_bytep buffer,png_size_t size ) |
75 |
static void pngReadFN( png_structp pngstr,png_bytep buffer,png_size_t size ) |
76 |
{ |
76 |
{ |
77 |
char * p = pngstr->io_ptr; |
77 |
char * p = png_get_io_ptr(pngstr); |
78 |
if(size>pngLength-pngPointer && pngLength>=pngPointer) size=pngLength-pngPointer; |
78 |
if(size>pngLength-pngPointer && pngLength>=pngPointer) size=pngLength-pngPointer; |
79 |
fast_memcpy( buffer,(char *)&p[pngPointer],size ); |
79 |
fast_memcpy( buffer,(char *)&p[pngPointer],size ); |
80 |
pngPointer+=size; |
80 |
pngPointer+=size; |
Lines 90-95
Link Here
|
90 |
png_uint_32 png_width=0,png_height=0; |
90 |
png_uint_32 png_width=0,png_height=0; |
91 |
int depth,color; |
91 |
int depth,color; |
92 |
png_uint_32 i; |
92 |
png_uint_32 i; |
|
|
93 |
png_byte color_type; |
93 |
mp_image_t* mpi; |
94 |
mp_image_t* mpi; |
94 |
|
95 |
|
95 |
int cols; |
96 |
int cols; |
Lines 111-117
Link Here
|
111 |
png_get_IHDR( png,info,&png_width,&png_height,&depth,&color,NULL,NULL,NULL ); |
112 |
png_get_IHDR( png,info,&png_width,&png_height,&depth,&color,NULL,NULL,NULL ); |
112 |
png_set_bgr( png ); |
113 |
png_set_bgr( png ); |
113 |
|
114 |
|
114 |
switch( info->color_type ) { |
115 |
color_type=png_get_color_type(png, info); |
|
|
116 |
|
117 |
switch( color_type ) { |
115 |
case PNG_COLOR_TYPE_GRAY_ALPHA: |
118 |
case PNG_COLOR_TYPE_GRAY_ALPHA: |
116 |
mp_msg( MSGT_DECVIDEO,MSGL_INFO,"Sorry gray scaled png with alpha channel not supported at moment.\n" ); |
119 |
mp_msg( MSGT_DECVIDEO,MSGL_INFO,"Sorry gray scaled png with alpha channel not supported at moment.\n" ); |
117 |
break; |
120 |
break; |
Lines 128-134
Link Here
|
128 |
out_fmt=IMGFMT_BGR24; |
131 |
out_fmt=IMGFMT_BGR24; |
129 |
break; |
132 |
break; |
130 |
default: |
133 |
default: |
131 |
mp_msg( MSGT_DECVIDEO,MSGL_INFO,"Sorry, unsupported PNG colorspace: %d.\n" ,info->color_type); |
134 |
mp_msg( MSGT_DECVIDEO,MSGL_INFO,"Sorry, unsupported PNG colorspace: %d.\n" ,color_type); |
132 |
} |
135 |
} |
133 |
|
136 |
|
134 |
// (re)init libvo if image parameters changed (width/height/colorspace) |
137 |
// (re)init libvo if image parameters changed (width/height/colorspace) |