From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lars Magne Ingebrigtsen Newsgroups: gmane.emacs.bugs Subject: bug#14700: 24.3.50; Animated ImageMagick images doesn't work Date: Thu, 15 Aug 2013 15:59:10 +0200 Message-ID: References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1376575219 5380 80.91.229.3 (15 Aug 2013 14:00:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 15 Aug 2013 14:00:19 +0000 (UTC) Cc: 14700@debbugs.gnu.org To: Glenn Morris Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Aug 15 16:00:21 2013 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1V9y69-0004Nt-A8 for geb-bug-gnu-emacs@m.gmane.org; Thu, 15 Aug 2013 16:00:21 +0200 Original-Received: from localhost ([::1]:53499 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9y68-0000YA-QV for geb-bug-gnu-emacs@m.gmane.org; Thu, 15 Aug 2013 10:00:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45768) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9y61-0000WT-GU for bug-gnu-emacs@gnu.org; Thu, 15 Aug 2013 10:00:18 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V9y5v-0005j1-OG for bug-gnu-emacs@gnu.org; Thu, 15 Aug 2013 10:00:13 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37882) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V9y5v-0005it-M4 for bug-gnu-emacs@gnu.org; Thu, 15 Aug 2013 10:00:07 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1V9y5t-0003VS-EC for bug-gnu-emacs@gnu.org; Thu, 15 Aug 2013 10:00:05 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Lars Magne Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 15 Aug 2013 14:00:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 14700 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 14700-submit@debbugs.gnu.org id=B14700.137657516813366 (code B ref 14700); Thu, 15 Aug 2013 14:00:04 +0000 Original-Received: (at 14700) by debbugs.gnu.org; 15 Aug 2013 13:59:28 +0000 Original-Received: from localhost ([127.0.0.1]:60430 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9y5H-0003TT-VE for submit@debbugs.gnu.org; Thu, 15 Aug 2013 09:59:28 -0400 Original-Received: from hermes.netfonds.no ([80.91.224.195]:43278) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1V9y5D-0003TF-2G for 14700@debbugs.gnu.org; Thu, 15 Aug 2013 09:59:24 -0400 Original-Received: from cm-84.215.51.58.getinternet.no ([84.215.51.58] helo=stories.gnus.org) by hermes.netfonds.no with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1V9y50-0005mS-Om; Thu, 15 Aug 2013 15:59:10 +0200 Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAGFBMVEX+9K31un91Oin80I/C dFIkDAbknmr+4Zq1HuKCAAACYUlEQVQ4jVXTza/iIBAAcNz38np9iGnPS/CdxTHlbEXeeRu7Z2lZ zppu5N/fGVo/dkzUzE9msAyMTVGYMSUw6R4wpxMzmDQPGO9QMFONpoIH6Dk/ss0njNWjFvAJGCCY hRnnYjADu4wJ4ZZ0gqmDvoOAzfmzKqpxBl5OlfQ+lOJ8/gANYAxgpUjw9m4xQnkWbxUmIYEu45SX aymtLc/YIwcvA8KHbTqM1jZhuOa8noHy6zVS482U55FggXUo1p364gPWwXy0tCnKdS2+tTLyHBOw DF27xi2oq8d8GUOGJkPX4Yd1XhPY/4D28A38Cf0T2iHe4cLYVso7dCpvKkwrfrzAr7l3XvH+AtKL Jyxe4DRq/BcECWutntDuoXwCK8J9Xy2Aj24uxRbA/s5yKr2Lc48Ew+aSlhP8htoGOjeWCnH9vIo0 5iWnA3CLTQhuaat3w75UBF+OO/y5axBE2lbNYK2iZ49H7/p9bwm+U2+aqBrZdHjwkrvg+7xdAhtU L2UrpVJO2XJJK0yZtlz6L6voeAl611NzqM1u1wQ1gbVxv+JLKgWJQ9TW4Wq7VtatuOAr+h84+eWe l56HgOCiw8ce4gQ3qCPH7/Z4ckMeRAIBUONL6MDjsY0iXw6aEi5oxLWpufZ/Wk/XAGeagBOIVF8h LruDyRdwBlwK+GTq2HeHdGHFiGdlWSTBO2HSDqf+p0FIeLoZiLACPpTuZMZLkSCDx2kVdI8J2kEw Rt0RMFAQjm2LB2ISNsHuGaLnkMZjnsTN5RUiF+mWz1ZWjGo9wAuzI5Dym6YJeGA4kHnJDOpAMPLw D2asESI9iCYYAAAAAElFTkSuQmCC X-Now-Playing: Heidi Berry's _Heidi Berry_: "Distant Thunder" X-Hashcash: 1:23:130815:rgm@gnu.org::i50czkPUDTv1ixsF:000000Jeej X-Hashcash: 1:23:130815:14700@debbugs.gnu.org::GW6IqsWIYudJLsf0:0000000000000000000000000000000000000001ChdI In-Reply-To: (Glenn Morris's message of "Wed, 14 Aug 2013 12:14:09 -0400") User-Agent: Gnus/5.130008 (Ma Gnus v0.8) Emacs/24.3.50 (gnu/linux) X-MailScanner-ID: 1V9y50-0005mS-Om MailScanner-NULL-Check: 1377179950.9071@IzL+GhE+yJtWX6BeuKBKvg X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:77375 Archived-At: Glenn Morris writes: > There's an "animate" command-line program that is part of ImageMagick, > and it seems to do fine on the examples from > http://www.imagemagick.org/Usage/anim_basics/ > > So maybe the source of that will have clues... Thanks. I've started reading the source code now. Unfortunately, it's written in an oldee-stylee C manner, meaning that no function is less than 1500 lines... *sigh* I've looked at Chong's code in gif_load again, though, and I think I understand what's going on now. Animated gifs are basically just a series of normal gifs, but wherever there's a transparent gif, we're supposed to show the data from the previous gif. So to display image X, we have to compute all images from 0 to X and apply the transparencies. Doing this in imagemagick_load in the same manner shouldn't be too difficult, I think. The information is available -- i.e., we just need to know what the transparent colour is, and then the rest is just looping and constructing the resulting image. Reusing the code in gif_load directly doesn't seem like the best option (it's creating X structures directly, if I interpret it correctly), so I think I'll have a whack at implementing a imagemagick_compute_scene function by peeking at Chong's code heavily. -- (domestic pets only, the antidote for overdose, milk.) No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php and http://lars.ingebrigtsen.no/2013/08/twenty-years-of-september.html