-
-
Notifications
You must be signed in to change notification settings - Fork 6.3k
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[gif] - add gif support via giflib #5180
Conversation
thx... |
Updated - @jmarshallnz , @t-nelson and @notspiff - the commits are suffixed with your nicks for better review. Only unsure about the endianess @t-nelson - as i see @ace20022 copied the makro from here: http://sourceforge.net/p/giflib/code/ci/master/tree/lib/dgif_lib.c#l27 so seems there is no be support inside the lib itself no? |
Also the loopedonce bool was split into its own commit and moved to the other pr about animated splash ... |
@@ -115,7 +115,6 @@ CGUITextureBase::CGUITextureBase(const CGUITextureBase &right) : | |||
m_diffuseScaleV = 1.0f; | |||
|
|||
m_currentFrame = 0; | |||
m_frameCounter = (unsigned int) -1; | |||
m_currentLoop = 0; |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
crap and with that m_Frames change it doesn't work anymore ... well thats it for some days from me ... nice weekend :) |
Enjoy the sun - we've reviewed within the window, so all good once you get back to it to merge (i.e. no rush) |
could you elaborate on the smart_ptr approach a bit - i guess you mean boost::shared_ptr <- std::vectorboost::shared_ptr doesn't change anything - i bet i didn't get the concept yet ;) |
Yeah.
Then when you add a frame use:
The copy constructor etc. can stay if you like (or alternatively make the definition, assignment etc. private so that no copy construction can be done?) but will be unused, as the vector will just be twiddling pointers when it resizes etc. Basically it's just a nicer version of |
updated |
@Memphiz Can I help? The current situation is a bit confusing, what's the "head revision"? |
@jmarshallnz updated - sorry i'm not really used to the boost stuff ;) |
@jmarshallnz one last thing - i didn't change the COLOR pointer as i don't feel comfortable with using a 4 char array there. It would break type safety and a ptr doesn't hurt imo. |
but obviously that did nothing for the peace of mind of ace. sorry couldnt resist ;) |
wat? |
just a PIECE of bad humor |
#endif | ||
if (!m_gif) | ||
{ | ||
#if GIFLIB_MAJOR == 4 |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
My version of the branch has fixes for COLOR, fixes the v4/v5 issue, and also some minor warnings fixes. Top 3 commits. https://github.com/jmarshallnz/xbmc/tree/gifsupport3 Still need to check v5 build (doing so atm) |
Top 5 commits should do it. |
@jmarshallnz squashed it down (and your 5 commits into it aswell). Thats not meaning that i am not willing to do any more changes - i just wanted to get rid of the big commit count so that i don't have to do one big rebase at the end ... |
@Memphiz version built. While adapting the code, I've seen some other things I want to change. I'll try to do a pr against your branch tonight. |
PRs done in the night always have some excitement - go on :D |
I have no idea |
Nope - Gifs are handled separately, so this PR is not obsolete. |
@ace20022 can you also tell your 50 cents? :-) thanks much |
Superseded by #7960 |
This is a split off from #5166
This removes the old animatedgif impl. I was not able to test if this introduces regressions in any way. I just don't know how to trigger that old animatedgif code to verify that it still works.
We use giflib5 for depends and windows - but the implementation also supports the giflib4 api.