[Swfed-svn] swfed-svn [48] ビットマップ形式 PNG を SWF にさしはさむ際に、

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2008年 9月 12日 (金) 20:09:00 JST


Revision: 48
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=swfed&view=rev&rev=48
Author:   yoya
Date:     2008-09-12 20:08:59 +0900 (Fri, 12 Sep 2008)

Log Message:
-----------
ビットマップ形式 PNG を SWF にさしはさむ際に、
画像データ部にゴミの値が混ざった事への対処。
bitstream の close が早すぎたのが原因。

Modified Paths:
--------------
    src/swf_tag_lossless.c


-------------- next part --------------
Modified: src/swf_tag_lossless.c
===================================================================
--- src/swf_tag_lossless.c	2008-09-11 01:46:24 UTC (rev 47)
+++ src/swf_tag_lossless.c	2008-09-12 11:08:59 UTC (rev 48)
@@ -207,10 +207,10 @@
         indices_len = ((swf_tag_lossless->width + 3) & -4) * swf_tag_lossless->height;
         old_buff_ref = bitstream_buffer(bs2, 0);
         old_size = bitstream_length(bs2);
-        bitstream_close(bs2);
         tmp_buff = malloc(old_size); // too enough size
         compress(tmp_buff, &compsize, old_buff_ref, old_size);
         bitstream_putstring(bs, tmp_buff, compsize);
+        bitstream_close(bs2);
         free(tmp_buff);
     } else {
         unsigned long bitmap_size;
@@ -230,11 +230,11 @@
         }
         old_buff_ref = bitstream_buffer(bs2, 0);
         old_size = bitstream_length(bs2);
-        bitstream_close(bs2);
         compsize = old_size; // too enough size
         tmp_buff = malloc(compsize);
         compress(tmp_buff, &compsize, old_buff_ref, old_size);
         bitstream_putstring(bs, tmp_buff, compsize);
+        bitstream_close(bs2);
         free(tmp_buff);
     }
     data = bitstream_steal(bs, length);
@@ -375,7 +375,6 @@
         swf_tag_lossless->bitmap2 = NULL;
         if (tag_no == 20) {
             swf_tag_lossless->bitmap = (swf_xrgb_t*) result_data;
-            
         } else if (tag_no == 36) {
             swf_tag_lossless->bitmap2 = (swf_argb_t*) result_data;
         } else {


Swfed-svn メーリングリストの案内
Back to archive index