How can I get the number of frames per second from a gif file?
21,871
A GIF file doesn't contain an FPS value, rather each frame contains a duration.
Each frame contains a header.
Hex Byte Number 324 contains the frame duration in 100ths of a second, for example 09 00 would be 0.09 seconds.
EDIT: reference http://en.wikipedia.org/wiki/Graphics_Interchange_Format#Animated_GIF
Author by
Legnus
Updated on February 27, 2021Comments
-
Legnus about 3 years
I am trying to get the number of frames per second from a gif file. I am converting the gif file to NSData and then from that NSData I take an array of frames using this code:
-(NSMutableArray *)getGifFrames:(NSData *)data{ NSMutableArray *frames = nil; CGImageSourceRef src = CGImageSourceCreateWithData((CFDataRef)data, NULL); if (src) { size_t l = CGImageSourceGetCount(src); frames = [NSMutableArray arrayWithCapacity:l]; for (size_t i = 0; i < l; i++) { CGImageRef img = CGImageSourceCreateImageAtIndex(src, i, NULL); if (img) { [frames addObject:[UIImage imageWithCGImage:img]]; CGImageRelease(img); } } CFRelease(src); } return frames; }
Is there anyway I can get the FPS of the gif?
-
Richard Stelling about 12 yearsDoes that mean a GIF effectively has a variable frame rate?