swfed
夢の中でデバッグ終了。 仮に getPNGData にバグがないとしたら、 0 byte の画像データが入っている んじゃないかという事で、朝までコードを追ってました(夢の中で…)。 % php sample/swfdump.phps ~/tmp.swf <略> [169] tag=DefineBitsLossless2(36) leng…
動作確認。残念ながら動かず。 テスト内容 Photoshop で頑張って*1透明度設定。 用意した画像 http://diary.awm.jp/~yoya/data/2009/02/09/10.gif 以下の記録を参考に入れ替え。 swfed replaceJpegData alpha データ対応 (3) http://diary.awm.jp/~yoya/?200…
とりあえず PHP binding のところまで実装し切りました。 function replaceGIFData(integer image_id, string gifdata) return true/false; 動作確認は全くしていませんが… Lossless用カラーマップ生成時の透明度有無判定を間違えていたので修正 http://svn.…
既にある Lossless PNG 変換のコードをコピペして、それっぽく Lossless GIF 変換に書き直してみました。 lossless tag と gif の相互変換ルーチンを実装 (まだ作りかけ) http://svn.sourceforge.jp/view?view=rev&root=swfed&revision=103 まだ機能しません…
SWF ファイル解析 http://awm.jp/~yoya/php/swfed/index.php ですが、フォーム等のコンテンツHTMLを出力した後で、 リダイレクト用のヘッダを出力していたので修正しました。 http://svn.sourceforge.jp/view?root=swfed&view=rev&rev=95 以下のサイトで指摘…
Makefile $(PHP_EXECUTABLE) -d 'open_basedir=' -d 'safe_mode=0' -d 'output_buffering=0' -d 'memory_limit=-1' $(top_srcdir)/run-tests.php -d 'extension_dir=modules/' -d `( . $(PHP_MODULES) ; echo extension=$$dlname)` tests/;なるほど。ここの …
https://sourceforge.jp/projects/swfed/releases/ 画像差し替えの際に、埋まっている画像のフォーマットと JPEG,PNG を合わせる必要をなくしました TSRM を使う処理を修正しました。(混んでる時に以前より安定するかもしれません) SWF ファイル解析ページの…
折角なのでフレームワークにのっとって。 tests/getjpeg.phpt を作成。 --TEST-- SWF Editor getJpegData: SWF Editor support for DefineBitsJPEG --SKIPIF-- --FILE-- --EXPECT-- ok とりあえず ok だけ出力させて実行。 % make test ==================…
SWF ファイルの中身を解析するページを用意してますが、 http://awm.jp/~yoya/php/flash/swfdump/ 移動しました。↓ http://awm.jp/~yoya/php/swfed/index.php これのソースコードを公開してという声は以前からあり、また、 使いたいけど仕事で使う SWF ファ…
今までは、BitsLossless に対しては png 画像を。BitsJpeg に対しては jpeg 画像しか 差し替えられなかったのですが、BitsJpeg に対して png 画像を。また、その逆でも 差し替えが出来るようにしました。 あと、BitJpeg(1) にαチャネルを与えてもマスクが効…
replaceMP3Data のコードが書きかけで止まっているので、 他の修正をする度にコードをどかして commit してます。 そろそろ面倒になって来たので、mp3 対応の branch を切りました。 mkdir trunk svn add trunk svn commit svn rename src trunk/src svn ren…
PNG PALETTE 形式の透明度対応 PNG の透明度が効かない場合があるとの事で調べたところ、 PALETTE 形式の透明度の考慮が抜けている事が分かりました。 http://www.libpng.org/pub/png/libpng-1.2.5-manual.html マニュアルを見る感じ、これっぽい。 png_get_…
おっきな SWF ファイル % php sample/swfdump.phps "魔理沙は大変なものを盗んでいきました.swf" > /dev/null malloc: ;_; えっと… swfed は -DMALLOC_DEBUG を付けてコンパイルすると、 free し忘れを検出する為に、malloc/free の管理テーブルを作ります。…
replacePNGData PALETTE 形式対応として 0.11, 0.12 を release しました。 http://sourceforge.jp/projects/swfed/releases/ 0.11 で見つかったバグを 0.12 で修正しているので、0.12 を使ってください。 replacePNGData PALETTE 形式対応 swfed の replace…
不具合修正 ビットマップ画像にゴミが混ざる問題ですが、 old_buff = bitstream_buffer(bs2, 0); bitstream_close(bs2); old_size = bitstream_length(bs2); compsize = old_size; // too enough size tmp_buff = malloc(compsize); compress(tmp_buff, &com…
Lossless 画像に関する不具合を幾つか修正しました。 swfed-0.09.tar.gz - https://sourceforge.jp/projects/swfed/files/
煮詰まったので、こんな時は人様のコードをカンニング。:-)
以下のページを参考に mp3 header の抽出を試みました。 http://www.m2osw.com/en/swf_alexref.html#tag_definesound http://mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm 試験対象の MP3 が DefineSound に入っていた時の情報は以下の通り。 [4] tag=Defin…
透明度無しのパレット画像(いわゆる色index方式)の入っている SWF ファイルを読み込めない不具合があるので、その対応をしました。 https://sourceforge.jp/forum/forum.php?thread_id=19738&forum_id=15543 問題 テストデータ - http://diary.awm.jp/~yoya/…
swfed-0.08.tar.gz https://sourceforge.jp/projects/swfed/files/ palette 形式の Lossless 画像に対応した際、色indexを 256 fullに 使った画像が扱えないという不具合があるのを指摘頂いていて、 別の目的にリリースに混ぜようと思ったのですが、 機能追…
http://www.m2osw.com/en/swf_alexref.html#tag_definesound ここの SWF にとっての MP3 の説明と、 Inside the MP3 Codec - Frames MP3' Tech - Frame header ここの MP3 frame と frame header の説明を読み合わせると、 どうも一筋縄にいかない感触です。…
知り合いから着うた入りの SWF ファイルを貰えたので中身を見たところ [661] tag=DefineSound(14) length=143 sound_id=941 format=15(Unknown) rate=0 is_16bits=0 is_stereo=0 samples_count=0 sound_data(length=433) format = 15 (仕様書に載ってないの…
実装、といいますか、getMP3Data を getSoundData に改名しました。 DefineSound タグから音声ファイルのフォーマットに関わらず、 ファイル全体のデータを抜き出せる事が分かったからです。 つまり、MP3 でも MLD ファイルでも、この getSoundData ですい出…
http://www.m2osw.com/en/swf_alexref.html#tag_definesound ↑ここの DefineSound に入る MP3 データの構造を眺めていたのですが、 struct swf_mp3_header { unsigned f_sync_word : 11; unsigned f_version : 2; unsigned f_layer : 2; unsigned f_no_prote…
手始めに DefineSound の parse/build 処理から。 http://svn.sourceforge.jp/svnroot/swfed/trunk/src/swf_tag_sound.c % php swfdump.phps game.swf <略> [4] tag=DefineSound(14) length=2505 sound_id=1 format=2(MP3) rate=1 is_16bits=1 is_stereo=0…
PNG 画像の吸出しに対応しました。 index 形式もそのまま (PNG で言う所の) PALETTE 形式に変換します。 http://sourceforge.jp/projects/swfed/files/ swfed-0.04 サンプルコード http://svn.sourceforge.jp/svnroot/swfed/trunk/sample/swfgetpngdata.phps…
svn レポジトリ閲覧で tarball を作ってファイル名を適当にかえて、 「プロジェクトの管理>リリース>新規作成」でバージョン番号とメモ書きを添えて、 tarball をアップロードして、 最後に、ステータスを Active にすると… http://sourceforge.jp/project…
初めて sourceforge にプロジェクトを作ってみました。 便利ですね。これ。 http://sourceforge.jp/projects/swfed/ 元々、repository を使いたくて登録したのですが、 Wiki, ML, BTS, forum, News, 等々、便利なツールが揃ってるので、 使い倒そうと思って…
昨晩、寝る直前の夜12時に申請を出したら、 今日、午前9時に承認のメールが来てました。クイックレスポンスにも程がある。(´Д`;) http://sourceforge.jp/projects/swfed さて、頑張ってコードやドキュメントを整理しよっと。
swfed で GIF ファイルを読めるようにしたいので、 giflib の使い方を調べようと google で色々検索しましたが、 全然、欲しい情報がひっかかりません。という訳で、cvs でソース一式持ってきて、真面目に眺めてます。 そのうち分かると信じて… cvs -d:pserv…