New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
BUG: HEIC encoder does not respect frame duration timing when encoding HEIC sequences; defaults to 0.1sec #3120
Comments
The |
Found the reason: not SDWebImage's issue, but Apple's limit in SDK. For GIF/APHG, if we provide Even I try to use the See: https://developer.apple.com/documentation/imageio/kcgimagepropertygifunclampeddelaytime |
Try to de-compile the ImageIO.framework |
Thanks for digging into this so quickly! |
Is this possible? |
If anyone want to check about this bug, use this demo: Reproduce Demo: ImageIOHEICSEncodeDecodeBug.zip |
@TysonParks For now, I suggest you to use the open-source libheif codec solution for HEICS animated image encoding. We provide a external coder plugin as well: https://github.com/SDWebImage/SDWebImageHEIFCoder |
@dreampiggy Thanks for digging further into this! I will test the SDWebImageHEIFCoder today. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is still an issue, please make sure it is up to date and if so, add a comment that this is still an issue to keep it open. Thank you for your contributions. |
None :) Maybe you can use the open-source world SDWebImageHEIFCoder if you really need the frame duration for HEIC animated images. Bug Demo: |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If this is still an issue, please make sure it is up to date and if so, add a comment that this is still an issue to keep it open. Thank you for your contributions. |
New Issue Checklist
Issue Info
Issue Description and Steps
The HEIC encoder appears to only encode HEIC sequences at 10fps (or with a 0.1sec frame duration).
I mainly just write Swift so it's a little challenging to fully understand all the Obj-C code in this framework but...
maybe this has to do with a (0.1sec) frameDuration limiter like at the bottom of the SDImageIOAnimatedCoder frameDurationAtIndex() method implementation? Perhaps the heic encoder is somehow always receiving a frameDuration value below the frameDuration's (0.011sec) threshold and bumping everything up to 0.1sec?
I wrote a simple testing app that shows how SDWebImage transcoding from GIFs and APNGs with different frame rates successfully maintains frame rates when converting to GIF or APNG, but always converts to HEIC sequences at 10fps.
Many thanks in advance!
https://github.com/TysonParks/SDWebImageTestingApp
The text was updated successfully, but these errors were encountered: