swfed

GIF 画像入れ替え処理実装 (3)

夢の中でデバッグ終了。 仮に getPNGData にバグがないとしたら、 0 byte の画像データが入っている んじゃないかという事で、朝までコードを追ってました(夢の中で…)。 % php sample/swfdump.phps ~/tmp.swf <略> [169] tag=DefineBitsLossless2(36) leng…

GIF 画像入れ替え処理実装 (2)

動作確認。残念ながら動かず。 テスト内容 Photoshop で頑張って*1透明度設定。 用意した画像 http://diary.awm.jp/~yoya/data/2009/02/09/10.gif 以下の記録を参考に入れ替え。 swfed replaceJpegData alpha データ対応 (3) http://diary.awm.jp/~yoya/?200…

GIF 画像入れ替え処理実装

とりあえず PHP binding のところまで実装し切りました。 function replaceGIFData(integer image_id, string gifdata) return true/false; 動作確認は全くしていませんが… Lossless用カラーマップ生成時の透明度有無判定を間違えていたので修正 http://svn.…

GIF 画像処理実装

既にある Lossless PNG 変換のコードをコピペして、それっぽく Lossless GIF 変換に書き直してみました。 lossless tag と gif の相互変換ルーチンを実装 (まだ作りかけ) http://svn.sourceforge.jp/view?view=rev&root=swfed&revision=103 まだ機能しません…

解析ページ(www/index.php)の修正

SWF ファイル解析 http://awm.jp/~yoya/php/swfed/index.php ですが、フォーム等のコンテンツHTMLを出力した後で、 リダイレクト用のヘッダを出力していたので修正しました。 http://svn.sourceforge.jp/view?root=swfed&view=rev&rev=95 以下のサイトで指摘…

make test に挑戦 (2)

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/;なるほど。ここの …

0.14 release

https://sourceforge.jp/projects/swfed/releases/ 画像差し替えの際に、埋まっている画像のフォーマットと JPEG,PNG を合わせる必要をなくしました TSRM を使う処理を修正しました。(混んでる時に以前より安定するかもしれません) SWF ファイル解析ページの…

make test に挑戦

折角なのでフレームワークにのっとって。 tests/getjpeg.phpt を作成。 --TEST-- SWF Editor getJpegData: SWF Editor support for DefineBitsJPEG --SKIPIF-- --FILE-- --EXPECT-- ok とりあえず ok だけ出力させて実行。 % make test ==================…

swfdump のソースコード公開

SWF ファイルの中身を解析するページを用意してますが、 http://awm.jp/~yoya/php/flash/swfdump/ 移動しました。↓ http://awm.jp/~yoya/php/swfed/index.php これのソースコードを公開してという声は以前からあり、また、 使いたいけど仕事で使う SWF ファ…

画像フォーマットを気にせず image_id で画像入れ替えできるように

今までは、BitsLossless に対しては png 画像を。BitsJpeg に対しては jpeg 画像しか 差し替えられなかったのですが、BitsJpeg に対して png 画像を。また、その逆でも 差し替えが出来るようにしました。 あと、BitJpeg(1) にαチャネルを与えてもマスクが効…

mp3-dev branch 作成

replaceMP3Data のコードが書きかけで止まっているので、 他の修正をする度にコードをどかして commit してます。 そろそろ面倒になって来たので、mp3 対応の branch を切りました。 mkdir trunk svn add trunk svn commit svn rename src trunk/src svn ren…

0.13 release

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 の管理テーブルを作ります。…

swfed-0.12 release

replacePNGData PALETTE 形式対応として 0.11, 0.12 を release しました。 http://sourceforge.jp/projects/swfed/releases/ 0.11 で見つかったバグを 0.12 で修正しているので、0.12 を使ってください。 replacePNGData PALETTE 形式対応 swfed の replace…

0.10 release

不具合修正 ビットマップ画像にゴミが混ざる問題ですが、 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…

0.09 リリース

Lossless 画像に関する不具合を幾つか修正しました。 swfed-0.09.tar.gz - https://sourceforge.jp/projects/swfed/files/

mp3 header 抽出 (2)

煮詰まったので、こんな時は人様のコードをカンニング。:-)

mp3 header 抽出

以下のページを参考に 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 release (不具合修正)

swfed-0.08.tar.gz https://sourceforge.jp/projects/swfed/files/ palette 形式の Lossless 画像に対応した際、色indexを 256 fullに 使った画像が扱えないという不具合があるのを指摘頂いていて、 別の目的にリリースに混ぜようと思ったのですが、 機能追…

MP3 入れ替え開始

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 の説明を読み合わせると、 どうも一筋縄にいかない感触です。…

着うた MLD 入れ替え機能を実装

知り合いから着うた入りの 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 (仕様書に載ってないの…

getSoundData 実装

実装、といいますか、getMP3Data を getSoundData に改名しました。 DefineSound タグから音声ファイルのフォーマットに関わらず、 ファイル全体のデータを抜き出せる事が分かったからです。 つまり、MP3 でも MLD ファイルでも、この getSoundData ですい出…

Flash から MP3 データ抽出

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…

Lossless 対応完了

PNG 画像の吸出しに対応しました。 index 形式もそのまま (PNG で言う所の) PALETTE 形式に変換します。 http://sourceforge.jp/projects/swfed/files/ swfed-0.04 サンプルコード http://svn.sourceforge.jp/svnroot/swfed/trunk/sample/swfgetpngdata.phps…

sourcforge.jp で swfed-0.01.tar.gz release

svn レポジトリ閲覧で tarball を作ってファイル名を適当にかえて、 「プロジェクトの管理>リリース>新規作成」でバージョン番号とメモ書きを添えて、 tarball をアップロードして、 最後に、ステータスを Active にすると… http://sourceforge.jp/project…

swfed@sourceforge.jp

初めて sourceforge にプロジェクトを作ってみました。 便利ですね。これ。 http://sourceforge.jp/projects/swfed/ 元々、repository を使いたくて登録したのですが、 Wiki, ML, BTS, forum, News, 等々、便利なツールが揃ってるので、 使い倒そうと思って…

swfedプロジェクトが承認されました。@sourceforge.jp

昨晩、寝る直前の夜12時に申請を出したら、 今日、午前9時に承認のメールが来てました。クイックレスポンスにも程がある。(´Д`;) http://sourceforge.jp/projects/swfed さて、頑張ってコードやドキュメントを整理しよっと。

GIF 対応

swfed で GIF ファイルを読めるようにしたいので、 giflib の使い方を調べようと google で色々検索しましたが、 全然、欲しい情報がひっかかりません。という訳で、cvs でソース一式持ってきて、真面目に眺めてます。 そのうち分かると信じて… cvs -d:pserv…