Skip to content
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

image/gif: support non-looping animated gifs (LoopCount=-1) #23761

Closed
wants to merge 3 commits into from

Conversation

pteichman
Copy link
Contributor

The Netscape looping application extension encodes how many
times the animation should restart, and if it's present
there is no way to signal that a GIF should play only once.

Use LoopCount=-1 to signal when a decoded GIF had no looping
extension, and update the encoder to omit that extension
block when LoopCount=-1.

Fixes #15768

The Netscape looping application extension encodes how many
times the animation should restart, and if it's present
there is no way to signal that a GIF should play only once.

Use LoopCount=-1 to signal when a decoded GIF had no looping
extension, and update the encoder to omit that extension
block when LoopCount=-1.

Fixes golang#15768
@googlebot googlebot added the cla: yes Used by googlebot to label PRs as having a valid CLA. The text of this label should not change. label Feb 9, 2018
@gopherbot
Copy link

This PR (HEAD: 0c3ef0a) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/#/c/go/+/93076 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link

Gobot Gobot has posted review comments at golang.org/cl/93076.

@gopherbot
Copy link

Brad Fitzpatrick has posted review comments at golang.org/cl/93076.

@gopherbot
Copy link

This PR (HEAD: 9c51c7d) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/#/c/go/+/93076 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link

Andrew Bonventre has posted review comments at golang.org/cl/93076.

@gopherbot
Copy link

Message from Gobot Gobot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
Within the next week or so, a maintainer will review your change and provide
feedback. See https://golang.org/doc/contribute.html#review for more info and
tips to get your patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11, it means that this CL will be reviewed as part of the next development
cycle. See https://golang.org/s/release for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to
publish your drafts!

@gopherbot
Copy link

Message from Brad Fitzpatrick:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to
publish your drafts!

@gopherbot
Copy link

Message from Andrew Bonventre:

Patch Set 2:

(2 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to
publish your drafts!

@gopherbot
Copy link

This PR (HEAD: 249744f) has been imported to Gerrit for code review.

Please visit https://go-review.googlesource.com/#/c/go/+/93076 to see it.

Tip: You can toggle comments from me using the comments slash command (e.g. /comments off)
See the Wiki page for more info

@gopherbot
Copy link

Message from Peter Teichman:

Patch Set 3:

(3 comments)

Patch Set 2:

(2 comments)

Still figuring out the workflow here w/gerritbot.. All good suggestions, thanks!


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to
publish your drafts!

@gopherbot
Copy link

Message from Gobot Gobot:

Patch Set 1:

Congratulations on opening your first change. Thank you for your contribution!

Next steps:
Within the next week or so, a maintainer will review your change and provide
feedback. See https://golang.org/doc/contribute.html#review for more info and
tips to get your patch through code review.

Most changes in the Go project go through a few rounds of revision. This can be
surprising to people new to the project. The careful, iterative review process
is our way of helping mentor contributors and ensuring that their contributions
have a lasting impact.

During May-July and Nov-Jan the Go project is in a code freeze, during which
little code gets reviewed or merged. If a reviewer responds with a comment like
R=go1.11, it means that this CL will be reviewed as part of the next development
cycle. See https://golang.org/s/release for more details.


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link

Message from Brad Fitzpatrick:

Patch Set 1:

(1 comment)


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link

Message from Andrew Bonventre:

Patch Set 2:

(2 comments)


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link

Message from Peter Teichman:

Patch Set 3:

(3 comments)

Patch Set 2:

(2 comments)

Still figuring out the workflow here w/gerritbot.. All good suggestions, thanks!


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

@andybons
Copy link
Member

Apologies for the barrage of duplicate posts on this. Working out some kinks.

@pteichman
Copy link
Contributor Author

@andybons No worries, happy to help iron them out.

@gopherbot
Copy link

Message from Andrew Bonventre:

Patch Set 3: Code-Review+1

adding nigel for a final look.


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link

Message from Andrew Bonventre:

Patch Set 3: Run-TryBot+1


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link

Message from Gobot Gobot:

Patch Set 3:

TryBots beginning. Status page: https://farmer.golang.org/try?commit=226d4eef


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

@gopherbot
Copy link

Message from Gobot Gobot:

Patch Set 3: TryBot-Result+1

TryBots are happy.


Please don’t reply on this GitHub thread. Visit golang.org/cl/93076.
After addressing review feedback, remember to publish your drafts!

gopherbot pushed a commit that referenced this pull request Feb 13, 2018
The Netscape looping application extension encodes how many
times the animation should restart, and if it's present
there is no way to signal that a GIF should play only once.

Use LoopCount=-1 to signal when a decoded GIF had no looping
extension, and update the encoder to omit that extension
block when LoopCount=-1.

Fixes #15768

GitHub-Last-Rev: 249744f
GitHub-Pull-Request: #23761
Change-Id: Ic915268505bf12bdad690b59148983a7d78d693b
Reviewed-on: https://go-review.googlesource.com/93076
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
@gopherbot
Copy link

This PR is being closed because golang.org/cl/93076 has been merged.

@gopherbot gopherbot closed this Feb 13, 2018
IAmJSD pushed a commit to IAmJSD/faster-image-gif that referenced this pull request Jun 11, 2020
The Netscape looping application extension encodes how many
times the animation should restart, and if it's present
there is no way to signal that a GIF should play only once.

Use LoopCount=-1 to signal when a decoded GIF had no looping
extension, and update the encoder to omit that extension
block when LoopCount=-1.

Fixes #15768

GitHub-Last-Rev: 249744f0e28ef8907aa876070a102cb5493f5084
GitHub-Pull-Request: golang/go#23761
Change-Id: Ic915268505bf12bdad690b59148983a7d78d693b
Reviewed-on: https://go-review.googlesource.com/93076
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Andrew Bonventre <andybons@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes Used by googlebot to label PRs as having a valid CLA. The text of this label should not change.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants