なうろーでいんぐ
キーボード↑↓
でもいいぞ
旧サイト形式へ帰りたい人
Perlの勉強中
2011年06月20日13時28分
mkdirによる排他制御やら把握。
クッキー、セッション制御も忘れてる部分あるから
復習のつもりで勉強中。サイト製作の基盤にもなるしな。
まぁ、今日も17:00以降は外出予定だがorz


ここが分かりやすい。
ファイルロック(排他処理)について
http://tech.bayashi.net/pdmemo/filelock.html
$lfh にロック関数の返り値を取り、ロック時に
一意の数値をディレクトリ内のファイル名に付与して、
アンロック時の$lfhが呼び出し元と一致しなければ
renameのロック解除ができないという排他制御。
記事カテゴリ:プログラム関連
encodeとdecode
2011年05月27日12時01分
またもXVID。
どの部分がライブラリ使用の圧縮と解凍に当たるのか、
まずはvfwことVideo for Windowsのソースで把握。
codec.cのcompress_begin関数及び
decompress_begin関数と目星が付いた。
それまでPMVFAST方式、BITMAPINFOHEADERとか
各種設定確認関数が主。zoneの詳細とかちょっと曖昧;
srcフォルダの方は魑魅魍魎に近いのでゆっくりと。


同日 12:59
zoneはXVIDのconfig構造体の初期化の模様。
各種設定の一部で、アスペクトやレシオ等を含んでいた。
圧縮と解凍の実行部分は、予想では、
xvid_encore_funcでdllから動作してる。
実際のencode及びdecodeはsrcフォルダの
encode.cとdecode.cの中・・・これは半端なく重い。
流し読みで気づいた点としては、
画面スライスとマルチスレッド処理がちらほら見える。
記事カテゴリ:プログラム関連
XVIDについて
2011年05月18日16時32分
ちまちま進めてみる。
公式からコアのソースをダウンロードして、
dshowのdspから読み込んでビルドする。
いきなりstreams.hが無いとエラー吐かれる。
DirectXSDKから移行したDShow部分を引っ張る為、
PlatformSDKのDirestShowの基底クラスを持ち出す。
今度はstrmbasedライブラリが無いとエラー。
コンパイルする為の環境がmake仕様だったので、
ややこしいと思いながらGNUWin32を適用して
makeの準備中。こういうのが本当に嫌いである。
さて・・・上手く行くのか?

案の定上手くいかねぇ。というかもうこれは面倒なんで
PlatformSDK入れなおした方がよさげ。
入ってるべき物が入ってない悪寒、何故に?

なんにせよ理解したいのは、コーデックの立ち位置。
以下のサイトを参考に考え方は分かってきた。
DirectShow フィルタの作り方
http://www22.ocn.ne.jp/~telmot/programing/directshow/HowToCreateDirectShowFilter.htm
圧縮技法だろうから、デコーダのフィルタで
コーデックのソースは間違い無く必要になる。
また、ピンでのデータ受け渡しの定義も必要だから
必然的にコーデックソースが絡んでくるわけだ。
COMの理解とか、Windowsでのメディア再生の仕組み
どの位置でどうなって処理されるかという理屈の
全体像が漸く垣間見えてきた気がする。
Windows限定ではあるけど。


同日 23:01
DirectShowの基底debug及びReleaseライブラリ
strmbased.lib及びstrmbase.lib完成。
詳細をもちっと探りたいが、とりあえずこれで
先に進めそう。
そしてまた明日から忙しくなるオチorz
記事カテゴリ:プログラム関連
またしても
2011年05月15日19時49分
厨二パズル埋め込み中。中途半端だが。
ファイル 400-1.png
分かるとは思うが、イメージは侍。
微妙に迷う部分が多い・・・が、時間が無くなって来た。
そろそろ遊び止めよう。


同日 21:37
oggのPCM再生把握。
ov_readが読み込んでくるサイズが不定なので、
一定のサイズになるまで再帰読み込みして、
埋まってから再生に渡す手法でダブルバッファ完了。
DirectSoundではWAVEFORMATEXのメンバを
一部必要とするので、ov_info関数で取ってきた
ビットレートやらを計算含めて橋渡しする事で実装。
後は再生時のポインタ位置を参照しながら
データ読み込みのlock、unlockを繰り返す事で
自然なダブルバッファリングとなりましたとさ。
次は単純なアニメーション系の調整かなぁ・・・。
些細な動きをプログラムで調整するのって何か
奇妙な感覚に襲われる;
多分、今までAfterEffectとかで直感的にしか
触れて無いからだと思うけど。
記事カテゴリ:プログラム関連