Wednesday, December 15, 2010

[x264] Revision 1825, 1826 and 1827

またx264devにちょっぴり関わらせてもらいました。
のでちょっぴりと解説記事を。
相変わらず映像の出力には関わっていませんが(笑)




r1825
他のパッチを書いていて、git statusして気付いて書いたパッチがこれ。
r1815以降、configureを走らせるとx264_config.hというファイルを生成します。
コミットメッセージにもあるように、libx264関係。
This header can be used to determine the bit-depth and license of libx264.
これが.gitignoreに追加されていなかったので、git statusで一々うるさかったのです。
黙らせるために.gitignoreにx264_config.hを追加しようとファイルを覗いてみたら…。

*.flvが追加されていない…だと…。

おいおい…flv出力実装されたのいつだよ…(苦笑)

MacOSX関連、regression test関連で他のファイルもついでに追加して#x264devに提出。
そしたらアレも追加しようぜコレも追加しようぜと出てくるわ出てくるわ…(笑)
それで最終的にこんな感じになりました。


r1826
これはあんまり影響ないし興味もないかな。
high bit depth + weightpについて。
numweightbufが2になってたけどBIT_DEPTH>8のときは1でいいので節約。
r1769と同じような修正です。
実はr1769は僕が指摘してD_S氏が直してくれたものだったり(笑)


r1827
これはregression test関係の修正。
pythonってどんなもんだろと思って先日追加されたtest_x264.pyを覗いて気づいたもの。
見てみたらinterlacedのcaseが抜けていたので追加しました。

でですね。
実は、この修正を入れた後でregression testを走らせると、failedします(爆)
うおーーregressionかーーーどこだーーーーいつだーーーーーふがーーーーーー。
と、時間かけて原因探して「このリビジョンじゃない?」と意気揚々と#x264devに投げたら、

D_S「ああ、それJMのバグ

JMェ…。
Reference Softwareェ…。

ちなみにffmpegをデコーダに指定してtestを走らせると、今度は別の理由でfailed。
以上をちょっと詳しめにまとめると、
  • JM(ldecod)をデコーダに指定すると…
    interlaced + sliced-threads + deblock でfailed
  • ffmpegをデコーダに指定すると…
    b-pyramid ≠ none でfailed
ということらしい。
ffmpegでのデコードの方はあまり関心がなくてテストも適当なので条件違うかもです。

というわけで、このコミットによりregression testは悉くfailedするようになりました
めでたしめでたし(ぉ


以上、自分のコミットの簡単な解説でした。
ビルドはまた今度。

No comments:

Post a Comment