Toggle navigation
Toggle navigation
This project
Loading...
Sign in
ios
/
yh_sdwebimage
·
Commits
Go to a project
GitLab
Go to group
Project
Activity
Files
Commits
Pipelines
0
Builds
0
Graphs
Milestones
Issues
0
Merge Requests
0
Members
Labels
Wiki
Forks
Network
Create a new issue
Download as
Email Patches
Plain Diff
Browse Files
Authored by
DreamPiggy
7 years ago
Commit
756e59a995901d4130ce093af5d8487d706782fe
1 parent
e59d34fd
Static WebP decoding a little enhancement. Do not need create WebP iterator for static images.
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
10 deletions
SDWebImage/UIImage+WebP.m
SDWebImage/UIImage+WebP.m
View file @
756e59a
...
...
@@ -50,15 +50,7 @@ static void FreeImageData(void *info, const void *data, size_t size) {
return
nil
;
}
WebPIterator
iter
;
if
(
!
WebPDemuxGetFrame
(
demuxer
,
1
,
&
iter
))
{
WebPDemuxReleaseIterator
(
&
iter
);
WebPDemuxDelete
(
demuxer
);
return
nil
;
}
uint32_t
flags
=
WebPDemuxGetI
(
demuxer
,
WEBP_FF_FORMAT_FLAGS
);
#if SD_UIKIT || SD_WATCH
int
loopCount
=
WebPDemuxGetI
(
demuxer
,
WEBP_FF_LOOP_COUNT
);
int
frameCount
=
WebPDemuxGetI
(
demuxer
,
WEBP_FF_FRAME_COUNT
);
...
...
@@ -73,7 +65,6 @@ static void FreeImageData(void *info, const void *data, size_t size) {
}
CGContextRef
canvas
=
CGBitmapContextCreate
(
NULL
,
canvasWidth
,
canvasHeight
,
8
,
0
,
SDCGColorSpaceGetDeviceRGB
(),
bitmapInfo
);
if
(
!
canvas
)
{
WebPDemuxReleaseIterator
(
&
iter
);
WebPDemuxDelete
(
demuxer
);
return
nil
;
}
...
...
@@ -95,13 +86,20 @@ static void FreeImageData(void *info, const void *data, size_t size) {
#endif
CGImageRelease
(
newImageRef
);
}
WebPDemuxReleaseIterator
(
&
iter
);
WebPDemuxDelete
(
demuxer
);
CGContextRelease
(
canvas
);
return
staticImage
;
}
// for animated webp image
WebPIterator
iter
;
if
(
!
WebPDemuxGetFrame
(
demuxer
,
1
,
&
iter
))
{
WebPDemuxReleaseIterator
(
&
iter
);
WebPDemuxDelete
(
demuxer
);
CGContextRelease
(
canvas
);
return
nil
;
}
NSMutableArray
<
UIImage
*>
*
images
=
[
NSMutableArray
array
];
#if SD_UIKIT || SD_WATCH
NSTimeInterval
totalDuration
=
0
;
...
...
Please
register
or
login
to post a comment