Friday, August 12, 2011

雑談とか7

またいくつか関わったので一応メモ。といってもdeprecatedなものを更新しただけですが。コミットログだけ見てもわかる通り内容は全部同種のものです(笑)

x264-audio/x264_L-SMASH: Fix deprecation in libavformat usage

x264: Avoid using deprecated libavformat functions

ffms: Fix deprecation in libavformat usage

[MacOSX] MP4Box git-93ed1ba [Snow Leopard]

MP4Box-git-93ed1ba

※大した更新はないんですけど、明日からまた忙しくなるので今日のうちにpushしておきます。

[MacOSX] x264_L-SMASH binary revision 2057+600 [Snow Leopard]

x264_MacOSX_r2057+600
x264 0.116.2057+600 fc15246
(libswscale 2.0.0)
(libavformat 53.3.0)
(ffmpegsource 2.15.4.1)
built on Aug 11 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

※ なんか+600でちょうどキリがいいですね。

[MacOSX] x264 binary revision 2057 [Snow Leopard]

x264_MacOSX_r2057
x264 0.116.2057 0ba8a9c
(libswscale 2.0.0)
(libavformat 53.3.0)
(ffmpegsource 2.15.4.1)
built on Aug 11 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

※よく考えたら(よく考えなくても)dmgの方がユーザーにとってはいいですね。ゴミが出ないので。

Wednesday, July 27, 2011

[MacOSX] MP4Box git-326092b [Snow Leopard]

MP4Box-git-326092b

※ハッシュが数字だらけ!(笑)

[MacOSX] ffmpeg binary v0.7-511-gab3d241 [Snow Leopard]

libav-git-v0.7-511-gab3d241.zip
ffmpeg version v0.7-511-gab3d241, Copyright (c) 2000-2011 the Libav developers
built on Jul 26 2011 20:37:04 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --enable-gpl --enable-version3 --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --enable-runtime-cpudetect --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --arch=x86_64 --cpu=x86_64 --disable-debug
libavutil 51. 8. 0 / 51. 8. 0
libavcodec 53. 7. 0 / 53. 7. 0
libavformat 53. 3. 0 / 53. 3. 0
libavdevice 53. 0. 0 / 53. 0. 0
libavfilter 2. 4. 0 / 2. 4. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 52. 0. 0 / 52. 0. 0

最近関わったコミット

忙しくて解説する時間と余裕と気力がないので、簡潔にリンクで逃げる。

x264 : Use $optarg for some configure optionsImprove configure help

x264-audio/x264_L-SMASH : Fix deprecation in libavcodec usage

ffms : Fix deprecation in libavcodec usage, remove some trailing white spaces, patch bywipple625

どれも地味だなあ…(笑)Improve configure helpのパッチは実は2ヶ月以上前に提出したままペンギン様にスルーされ続けていたものです。最近いろんなconfigureを見ることがあって、ついでに久々にx264のconfigureを覗いたときに$optargの件に気付いて、どうせなら以前のhelpの整形のパッチももう一度一緒に提出してしまおうと。案の定ペンギン様やBugMaster氏に噛み付かれまして、それでもがんばって両氏反論して、最終的には自分でそれなりに満足いく形で通しました。ペンギン様にdisagreeとか言うのコワカッタ(笑)

実は今回も紆余曲折あって、提出したまんまほったらかしになる予定だったんですが、後日--prefixだけが追加される別の人のパッチが入りまして、「ねえ、なんでこれコミットしたの?以前僕が出したじゃん、こういうの」って言ったら、D_S氏が「すっかり忘れてたお( ^ω^)」って言ってコミットする流れになりました。

x264のconfigure --helpは本当に手抜き感溢れるものでしたが(まあシンプルなのはそれはそれでいいことなのだけど)、若干見易く・分かり易くなったかなあと思います。もともと--bindirとか--libdirも指定可能だったんですけど、今までhelpでは隠されていました。せっかく--system-libx264とか--disable-cliが実装されたんだし、x264cliとffmpeg(with libx264)を両方ビルドする人はこういうオプションも使うとビルドの際に手間が省けたりビルド時間を節約できたりします。

[MacOSX] x264_L-SMASH binary revision 2037+597 [Snow Leopard]

x264_MacOSX_r2037+592
x264 0.116.2037+592 bf4a774
(libswscale 2.0.0)
(libavformat 53.3.0)
(ffmpegsource 2.15.4.1)
built on Jul 26 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

[MacOSX] x264 binary revision 2037 [Snow Leopard]

x264_MacOSX_r2037
x264 0.116.2037 f8ebd4a
(libswscale 2.0.0)
(libavformat 53.3.0)
(ffmpegsource 2.15.4.1)
built on Jul 26 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

Monday, July 11, 2011

[MacOSX] ffmpeg binary v0.7-320-g7f7dc4f [Snow Leopard]

libav-git-v0.7-320-g7f7dc4f.zip
ffmpeg version v0.7-320-g7f7dc4f, Copyright (c) 2000-2011 the Libav developers
built on Jul 10 2011 19:29:20 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --enable-gpl --enable-version3 --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --enable-runtime-cpudetect --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --arch=x86_64 --cpu=x86_64 --disable-debug
libavutil 51. 8. 0 / 51. 8. 0
libavcodec 53. 5. 0 / 53. 5. 0
libavformat 53. 2. 0 / 53. 2. 0
libavdevice 53. 0. 0 / 53. 0. 0
libavfilter 2. 4. 0 / 2. 4. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 52. 0. 0 / 52. 0. 0

※ マジ天使のパッチがlibavに取り込まれるかもしれない

[MacOSX] MP4Box git-b2d8061 [Snow Leopard]

MP4Box-git-b2d8061

 

※次回くらいからmasterをrebaseではなくmergeで回すかもしれません。

[MacOSX] x264_L-SMASH binary revision 2019+585 [Snow Leopard]

x264_MacOSX_r2019+585
x264 0.116.2019+585 8e5f3f7
(libswscale 2.0.0)
(libavformat 53.2.0)
(ffmpegsource 2.15.1.0)
built on Jul 10 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

 

[MacOSX] x264 binary revision 2019 [Snow Leopard]

x264_MacOSX_r2019
x264 0.116.2019 9cc407d
(libswscale 2.0.0)
(libavformat 53.2.0)
(ffmpegsource 2.15.1.0)
built on Jul 10 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

 

Thursday, June 30, 2011

[MacOSX] MP4Box git-037cc37 [Snow Leopard]

MP4Box-git-037cc37

前回の更新からちょっと間隔が短いですけど、僕のパッチがちょうどコミットされたので更新。configureのパッチですが、パッチを落としたり書き出したりしてみればわかりますが、実際のconfigureよりファイルサイズが大きいです(笑) 結局configureの5/6くらい書き換えたことになるらしい。放置されすぎ(笑) 見づらすぎて保守したくなくなる病が発症します。

※インデントは大事です。

Sunday, June 26, 2011

[MacOSX] MP4Box git-4dc1990 [Snow Leopard]

MP4Box-git-4dc1990

※pushする前にどうせ必ずビルドチェックをするので、MP4Boxのバイナリを置くことにしました。wipple/GPACは更新する度にパッチが更新されるので、バックアップとしてパッチが当ったソースコードも一緒に入れてあります。

※バイナリ配布なのにソースコードだけ入れてバイナリを入れ忘れるというアホなことをしていました。06月26日の16時頃に再アップロードしたので、それ以前に落とした人は再ダウンロードをお願いします。

雑談とか6

だいぶ体調がよくなりました。一人暮らしだったらたぶん干涸びてました。結局3、4日下痢が続いて3キロ痩せましたけど(笑) 会う人会う人に「痩せた?」って聞かれます。どんだけ頬が痩けてるんだよっていう。高熱と下痢のコンボは思ったよりも強敵だった。巷ではいろいろなダイエットが流行っていますが、恐らく「下痢ダイエット」が最強なんじゃないかと思う今日この頃。

以下、GPACのお話。

Sunday, June 19, 2011

40℃

木曜日の夜から体調が崩れ始め、金曜の朝に生まれて始めて体温が40℃を越えた。とりあえず峠は越したっぽいけど、まだ頭がクラクラするし、ずっと横になってる状態。復帰できるまでかなり時間かかりそう。

Thursday, June 16, 2011

[MacOSX] x264_L-SMASH binary revision 2008+572 [Snow Leopard]

x264_MacOSX_r2008+572
x264 0.115.2008+572 f935575
(libswscale 1.1.0)
(libavformat 53.1.3)
(ffmpegsource 2.15.1.0)
built on Jun 15 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

 

[MacOSX] x264 binary revision 2008 [Snow Leopard]

x264_MacOSX_r2008
x264 0.115.2008 4c552d8
(libswscale 1.1.0)
(libavformat 53.1.3)
(ffmpegsource 2.15.1.0)
built on Jun 15 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

 

Friday, June 3, 2011

雑談とか5

x264のlavf/ffms/filterから手を引こうと思っています。関わって得られるものが少ない。時間の無駄な気がしてきた。D_S氏にFFmpegとLibavをどうサポートしていくのか今後の方針を聞いてもスルーされるし。そのうえ保守はkemuri氏に丸投げの状態だし。問題が起きる度にFFmpegとLibavの両方のコードをチェックするのも面倒だし。FFmpeg/Libavのコード読みにくいし。#x264devで話しても方針も合わないし。

GPACはGPACで反応ないし。

Appleのバグレポも相変わらず反応ないし。

最近空回りばっかしているなあ。

Wednesday, June 1, 2011

雑談とか4

ffmpeg/libavとfork状態になった現在、x264のfilter/lavf-inputのサポートが非常にしんどいことになっています。libavformatやlibswscaleの更新によってx264がビルドできなくなることは今までも何度もあったことですけど、そういう報告が出るときにこちらで再現しようとしてもできないことがあって、調べてみると、ffmpeg側の更新が原因でlibav側では問題が起きていない、ということがあったりします。片方だけサポートするならどっちかを無視すればいいだけなので、fixも簡単に済みます。でも今のところ両方サポートする雰囲気のようで(ただ単に考えるのが面倒で先延ばしにしている可能性もあるし、あるいはまだ様子見するつもりなのかもしれないし、真意はわかりませんが…)、そういう場合はffmpegとlibavの両方のコードをチェックして、ビルドする人がどっちを使っていても大丈夫なように注意しないといけないわけです。libavformatやlibswscaleのバージョンで分岐させようにも、両者で違うものを返してきますし、本当に面倒。片方のみサポートするのか、ずっと両方サポートしていくのか、そろそろlead developerが方針決定してほしいものです。両方サポートし続けるなら地獄だなあ…。

別の話題。golgol氏が帰ってきた。マジ天使が帰ってきた。やったねたえちゃん!ずっとHandBrakeスレをチェックし続けて、ついこの間捕捉。フヒヒ。ストーカーサーセン。というわけで、現在話し合いながら、パッチをsourceforgeの方にも提出したりして、今後のことを調整中です。golgol氏のGitHubの方が更新を再開したら僕のrepositoryは停止する予定です。最初から繋ぎのつもりで開始したので。自分にとってもgitでの作業に慣れたし、gpacのコードを読むことで反面教師的な勉強にもなったし、やってよかったと思っています。御役御免。

それにしてもQuickTime Playerのバグレポ、Appleがなかなか対応してくれないですねえ。これから1週間に1回のペースで噛み付いていこうかしら。

Thursday, May 26, 2011

[MacOSX] 劇薬 `purge`

最近は2GBしかメモリがないとあっぷあっぷですね…。いい加減4GB以上にしたいんですけど、この前のバッテリー&電源アダプタ購入が痛くてしばらくは無理そうです。とほほ…。

メモリ不足をなんとか誤魔化せないかとメモリ管理(解放)ツールをいくつか試してみたんですけど、どれもあんまりしっくり来なくて…。ターミナルはいつも起動しているんで、どうせならコマンドラインから管理できたらいいなあと思って調べてみたら、`purge`なるものを発見。CHUD Tools(The Computer Hardware Understanding Developer Tools)に含まれているコマンドです。試してみたらビックリするほど解放してくれました。アクティビティモニタで確認してみたら、「現在非使用中」が20MB前後まで激減。ちょっと怖いくらい…(笑)ちなみにpurgeを実行している4、5秒の間は若干動作がカクツキます。

解放するコマンドさえ見つかれば、シェルスクリプトを書くのは簡単。まず、purgeする目安となる空きメモリ量を変数に設定。メモリのチェックでは、topなどを使えば簡単に情報を取得できます(他にも手段はあります)。OSXのtopを使う場合なら、`top -l 1 -n 0 -s 0 | grep '^PhysMem'`みたいな感じでやればメモリの情報を抜き出せます。あとはパイプなりを通してsedとかを利用して"free"の部分を読み取って変数に代入して、最初に設定したメモリ量と比較して、空きが少なかったらpurgeを走らせればいいです。チェックする時間も設定してwhileとsleepで回せば簡易管理スクリプトになります。

ただ、ちょっと調べてみたところ、この`purge`コマンドはメモリ管理に使うべきでないと書いてあるサイトもあったり。2、3日使用してみた限り僕の環境では特に問題はなかったのですが、どの環境・使用法でも安全だと確認できたわけではないのでスクリプトの公開は控えます。まあ…劇薬扱いということで…(笑)purgeを利用してメモリ管理してみたい人は、上に書いたことを参考に自分でスクリプトを書いてみてください。ちなみにAppleスクリプトならGrowlを簡単に利用できるので組み合わせてみると面白いかもしれないですね。僕はAppleスクリプト書かない人間なのでパス。

そんなこんなでしばらくはメモリ2GBで粘ってみるつもりです。

Sunday, May 22, 2011

[GPAC] こんなことやってるから…

無駄にリビジョンナンバーが嵩むんですよ…。GPAC陣はコミットする前にテストビルドしないんですかね…?(笑)

http://sourceforge.net/apps/trac/gpac/changeset/3183/trunk/gpac

http://sourceforge.net/apps/trac/gpac/changeset/3184/trunk/gpac

僕は一応複数環境でテストビルドしてからpushするように心掛けています。SSHサーバを立ち上げてビルド環境を提供してくれている某B氏に感謝。

もしビルドできない場合などは連絡ください。時間があるときに地道に更新していますので(笑)

Friday, May 20, 2011

最近利用をやめた(やめる)サービス


  • Dropbox
    Mac OS X ServerでFinderとどうも相性が悪い…。

  • Skype
    重い。OSX版バグ直らない。そして未来もなくなった…。

  • Twitter
    公式の方針が自分の目的・用途からどんどん離れているので…。


簡単にまとめちゃうとこんな感じですが、もちろん他にも色々考えるところがあってです。仕方ない。なくても、まあ、なんとかなるさ(笑) そのうち戻ってもよさそうになったら戻るかもしれませんが、今のところ方針変更などはなさそうですし…。

さて、代用サービスを考える日々が始まるお(^ω^)

Tuesday, May 17, 2011

[MacOSX] ffmpeg binary v0.7b2-31-g033a4a9 [Snow Leopard]

libav-git-v0.7b2-31-g033a4a9.zip
ffmpeg version git-v0.7b2-31-g033a4a9, Copyright (c) 2000-2011 the Libav developers

built on May 16 2011 21:56:45 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)

configuration: --enable-gpl --enable-version3 --disable-doc --disable-ffplay --disable-ffprobe --disable-ffserver --enable-runtime-cpudetect --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --arch=x86_64 --cpu=x86_64 --disable-debug

libavutil 51. 1. 0 / 51. 1. 0
libavcodec 53. 3. 0 / 53. 3. 0
libavformat 53. 0. 3 / 53. 0. 3
libavdevice 53. 0. 0 / 53. 0. 0
libavfilter 2. 4. 0 / 2. 4. 0
libswscale 1. 1. 0 / 1. 1. 0
libpostproc 52. 0. 0 / 52. 0. 0

※ ffmpegはlibx264の検証目的などのために時々ビルドしています。どうせなのでたまーに公開します。ビルドが面倒なときは他のところから持ってきたりもしていたんですけど、Automated FFmpeg Buildsが更新停止になってしまってからは、OS X用のffmpegを定期的に配布している所がなかなか見つからないですね。一応配布する用にいろんなライブラリをstaticリンクしていますが、主目的はやっぱりlibx264検証なので、libx264が更新されないとffmpegの更新もしないと思います。

Saturday, May 14, 2011

[MacOSX] x264_L-SMASH binary revision 1995+536 [Snow Leopard]

x264_MacOSX_r1995+536
x264 0.115.1995+536 0d73fda
(libswscale 1.1.0)
(libavformat 53.0.3)
(ffmpegsource 2.15.0.1)
built on Apr 26 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

Friday, May 13, 2011

[MacOSX] x264 binary revision 1995 [Snow Leopard]

x264_MacOSX_r1995
x264 0.115.1995 c1e60b9
(libswscale 1.1.0)
(libavformat 53.0.3)
(ffmpegsource 2.15.0.1)
built on Apr 26 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

 

Tuesday, May 10, 2011

[MacOSX] Search with DEFAULT Browser [Automator]

非常にシンプルなServiceを作りました。ホームフォルダの「ライブラリ」→「Services」に入れれば使えるようになります。システム環境設定からショートカットキーを割り当てると結構便利に使えると思います。

Search with DEFAULT Browser.workflow.zip

※(5/10 13:30追記)wordの末尾に余計な"+"が入る問題を修正しました

作った経緯、解説、使い方などは折り畳み↓

Wednesday, May 4, 2011

雑談とか3

実は昨日、MacBookのバッテリーと電源アダプターがお釈迦になりました…。バッテリーが14,800円で電源アダプターが7,800円…。痛い出費…orz それでも部品換えるだけで済んだのでまだマシだと前向きに考えた方がいいかもしれません。修理に出すと、もっと恐ろしい値段に…。

以下、ブラウザ関係の雑談をちょっと。

Monday, May 2, 2011

雑談とか2

まだ#x264devで議論の途中(?)みたいですが、おそらく次回の更新でconfigureとmakeに変更が来ます。簡単に要約してしまうと、

  1. configureのオプションとして以下のものが追加される
    --disable-cli、--system-libx264、--enable-static

  2. makeのオプションとして以下のものが追加される
    install-cli、install-lib-dev、install-lib-static、install-lib-shared

  3. ビルド時にstripしなくなるかもしれない(意見対立中?僕はしない方に一票)


3の変更と関連してmake install-stripが実装されるかされないかはわかりません。そこらへんの議論はまだされていない様子。この記事の内容から更に変更になる場合もあると思うので、ビルダーの方々は更新が来たらdiffに目を通すことをお勧めします。シェルスクリプトとMakefileに注意すればいいだけなので、ちょっと調べながら眺めてみれば変更内容は理解できると思います。

また別件ですが、GPAC Repositoryは管理上の点からどうしてもrebaseをせざるを得ません。svnの更新を取り込み、git svn rebaseをしますが、このときにconflictが発生した場合はそれを修正してgit rebase --continue、を繰り返して、すべてのパッチのconflictが解消したらビルドの確認をしてpush -fしています。このときに歴史が書き換えられ、他の環境からpullする時にconflictが発生します。そういうときはパッチ適用前のリビジョン(つまりgit logで見たときにAuthorがgolgol氏や僕でないコミット)をgit logから探し、そこにgit reset --hardしてから再度pullするとうまくいきます。GitHubに公開されているD_S氏のx264-devel repositoryを利用している人は既に手慣れた作業かもしれません。まあよくわからないときはgit cloneし直すのが一番簡単です…(笑)

更にもう一つだけ注意点を。このようにして更新をしていくと、conflictする度に過去のコードを書き変えることになります。つまり、ある時点で作ったバイナリのソースコードを、過去に遡って取得できなくなります。ライセンスを考え、バイナリ配布をする場合には、バイナリを作った時点で適用されているパッチをバックアップしておくか、またはソースコードを丸々残しておくことをおすすめします。

パッチはgit format-patchで取得できます。その時点でのソースコードを丸々取得する場合はgit archiveを利用すればいいと思います。僕はgit archiveが手軽だと思います(圧縮ファイルを伸張すればパッチを当てなくてもすぐにビルドにできますし)。使い方はこんな感じ。

[gist id=950385]

zipならもうちょっとシンプルにこんな感じ。

[gist id=950360]

コマンドが面倒な人はGitHubのページからDownloadをクリックしてGit Snapshotを取得してください。

Saturday, April 30, 2011

[QuickTime Player] Low QP with 8x8dct

以前x264スレ(rev 30)に話題が投下されて、QuickTime Playerの話題だったので自分でも検証してレスしたのですが、いつか問題点を整理してブログにまとめなきゃなーと思いつつ延ばし延ばしにしていたら、つい先日MyCometG3氏が記事を書いていました…(笑) 問題点がわかりやすくまとまっているので詳しくはこちらにどうぞ→互換性確保のため。方針決定。

Wednesday, April 27, 2011

[MacOSX] x264_L-SMASH binary revision 1947+523 [Snow Leopard]

x264_MacOSX_r1947+523
x264 0.115.1947+523 f5b2da0
(libswscale 1.0.0)
(libavformat 53.0.3)
(ffmpegsource 2.15.0.1)
built on Apr 26 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

[MacOSX] x264 binary revision 1947 [Snow Leopard]

x264_MacOSX_r1947
x264 0.115.1947 b5a8ad7
(libswscale 1.0.0)
(libavformat 53.0.3)
(ffmpegsource 2.15.0.1)
built on Apr 26 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

[x264] Revision 1942

久々にちっこいパッチを提出して採用されました。

Special Thx: テストにつきあってくれたboiled_sugar, Chikuzen両氏

解説は長くなるので折り畳み。

Sunday, April 24, 2011

雑談とか

GPAC repositoryでちょっとミスをしてしまったので、gpac_fixesブランチは一旦歴史を書き換えたりしています。万が一ですが、そのことによってpullがうまく行かないなどの不具合が起きましたら、git cloneからやり直してください。たぶん問題ないと思いますが…。

Friday, April 22, 2011

[Git] modified GPAC repository

golgol氏が管理しているGitHub上のGPAC repositoryが半年以上停滞してしまっているので、勝手ながら、svn repogitoryの更新を取り込んでgolgol氏のパッチを当てた別のrepositoryを作りました。

https://github.com/wipple/GPAC

半年の間にsvnの方が1000近く更新を重ねていて、conflictしまくっていたのでパッチを若干弄っています。svnの更新によって当てる必要がなくなったものは外しています。また、svnの更新によって発生する問題に対する新しい修正パッチなども当てています。

最初はGitHub上からforkしようと思ったんですけど、git svnがうまくいかなかったりしたので、自分でgit svn cloneして一から作りました。ブランチは基本的にgolgol氏のrepositoryと一緒で、masterとplainとgpac_fixesの3つです。まずsvnの更新を取り込んでからgpac_fixesブランチにおいて適宜conflictを解消してパッチを当て、ビルドテストなどをしてから大丈夫そうであればmasterブランチに取り込みます。なので通常はmasterブランチで使用すれば大丈夫です。ちなみにplainブランチは名前からもわかる通り、何のパッチも当てていないもの(svn repositoryから引っ張ってきただけのもの)です。GPAC(笑)と笑うためのものなので通常は使用しないでください。

パッチがおかしいんじゃないかとか、ビルドができないとか、こういうパッチを当ててほしいとか、その他何かありましたらご連絡を。

Friday, April 15, 2011

[MacOSX] x264_L-SMASH binary revision 1937+504 [Snow Leopard]

x264_MacOSX_r1937+504
x264 0.115.1937+504 cb84a9a
(libswscale 0.12.0)
(libavformat 52.107.0)
(ffmpegsource 2.15.0.1)
built on Apr 15 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

※ x264側はdisable-asmの修正なので更新しなくてもいいのですが、L-SMASH側に音声出力関係の修正が入ってたりするのでx264_L-SMASHだけ更新しました。plainのr1937はビルド・公開はしません。

Thursday, April 14, 2011

[MacOSX] x264_L-SMASH binary revision 1936+500 [Snow Leopard]

x264_MacOSX_r1936+500
x264 0.115.1936+500 d36637d
(libswscale 0.12.0)
(libavformat 52.107.0)
(ffmpegsource 2.15.0.1)
built on Apr 13 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

[MacOSX] x264 binary revision 1936 [Snow Leopard]

x264_MacOSX_r1936
x264 0.115.1936 7a9e08d
(libswscale 0.12.0)
(libavformat 52.107.0)
(ffmpegsource 2.15.0.1)
built on Apr 13 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

Tuesday, April 12, 2011

vo-aacenc のビルド

なにやら新しいものが話題になっているようで。

vo-aacenc

というわけで早速ビルドしてみました。知らないと躓きそうな所が少しあったので、ビルド方法のメモを残しておきます。

Monday, March 28, 2011

[MacOSX] x264_L-SMASH binary revision 1924+494 [Snow Leopard]

x264_MacOSX_r1924+494
x264 0.114.1924+494 db51b0b
(libswscale 0.12.0)
(libavformat 52.103.0)
(ffmpegsource 2.15.0.1)
built on Mar 27 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

[MacOSX] x264 binary revision 1924 [Snow Leopard]

x264_MacOSX_r1924
x264 0.114.1924 08d04a4
(libswscale 0.12.0)
(libavformat 52.103.0)
(ffmpegsource 2.15.0.1)
built on Mar 27 2011, gcc: 4.2.1 (Apple Inc. build 5666) (dot 3)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

Monday, February 28, 2011

[x264] Revision Roll [Git]

x264のコミットメッセージに
Fix 10L in r1912

とか
Fix regression in rev1549

のようなものが出てくることがあります。こういうときに、「どういうコミットだったっけ?」と確認したくてリビジョンナンバーを頼りに遡ろうとすると、結構手間がかかるんですよね、Gitって。猫科研究所のx264チェンジログとかx264.nlのビルドログを利用してリビジョンナンバーからハッシュ値を調べる必要があります。実際にGitに渡すのはリビジョンナンバーではなくハッシュ値でないといけません(タグがついていればそれも利用できますが、x264はついていないですし…)。

例えば、たまに2chのx264のスレとかで「rev1790だと大丈夫だけどrev1803以降だとおかしくなる」というようなレスがありますが、こういうときにいちいちハッシュ値を調べるのって面倒です。面倒なので、リビジョンナンバーを指定するとハッシュ値を自動で調べてgit resetやgit showやgit diffに渡す、簡単なシェルスクリプト(rev_roll.sh)を書きました。名前からして適当です(笑)x264.gitからgit cloneしたフォルダに入れて使ってください。使い方は、スクリプトの冒頭10行ちょっとを読めばすぐにわかると思います。自分に必要な最低限のオプションしか用意していませんが(苦笑)



エラーメッセージとかかなり適当なスクリプトですけど、リビジョンナンバーで操作したいときにどうすればいいかのヒントにはなるかな、と。必要なら色々弄ってオプションを追加してください。あと、このスクリプトは、あくまでplainなx264.gitしか想定していないので、他の用途で使って不具合が出たときは自分で弄って修正してください。ブランチはorigin/masterで決めうちにしちゃっていますし。「もうちょっといい方法があるよ〜」って人は是非教えてくださいm(__)m

…。

実はGistを使ってみたかっただけ疑惑(ぉ

Sunday, February 27, 2011

[MacOSX] x264_L-SMASH binary revision 1913+434 [Snow Leopard]

x264_L-SMASH_MacOSX_r1913_434
x264 0.114.1913+434 071c30b
(libswscale 0.12.0)
(libavformat 52.102.0)
(ffmpegsource 2.14.2.0)
built on Feb 27 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

※ 今回のビルドから、fgoパッチは外しました。メンテめんどいので…(笑)

[MacOSX] x264 binary revision 1913 [Snow Leopard]

x264_MacOSX_r1913
x264 0.114.1913 5fd3dce
(libswscale 0.12.0)
(libavformat 52.102.0)
(ffmpegsource 2.14.2.0)
built on Feb 27 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

[FFmpeg] さらばlibavcore

しばらくビルドをサボっている間にFFmpegのlibavcoreがlibavutilにmergeされたらしい。おいおい…。さすがにちょっとあきれた…。

2010年の7月21日に追加され、その影響でlavfサポートのx264のビルドがうまくいかなくなることで多くの人の脳裏に焼きついたlibavcore。タブ補完でlibavcodecとバッティングしてイライラさせてくれたlibavcore。わずか半年余りでその短い生涯を終えることになったけど、君の事は一生忘れない。

…。

と冗談はさておき、このことで注意しておいた方がよさそうなことを一応メモしておきます。ビルダー向けの記事です。「んなこと知ってるよ(笑)」という方は無視してください。

Tuesday, February 8, 2011

[MacOSX] x264_L-SMASH binary revision 1900+412 [Snow Leopard]

x264_L-SMASH_MacOSX_r1900_412
x264 0.114.1900+412 2e088a0
(libswscale 0.12.0)
(libavformat 52.97.0)
(ffmpegsource 2.14.2.0)
built on Feb  8 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

※ 今回のビルドから、mov, qt 出力ができるようになっています。出力に関して気付いた点などがあれば、コメントなどでご連絡ください。開発者に伝えます。

[MacOSX] x264 binary revision 1900 [Snow Leopard]

x264_MacOSX_r1900
x264 0.114.1900 60ef1f8
(libswscale 0.12.0)
(libavformat 52.97.0)
(ffmpegsource 2.14.2.0)
built on Feb  7 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

Monday, February 7, 2011

[MacOSX] x264 binary revision 1899 [Snow Leopard]

x264_MacOSX_r1899
x264 0.114.1899 e6738f2
(libswscale 0.12.0)
(libavformat 52.97.0)
(ffmpegsource 2.14.2.0)
built on Feb  7 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

[x264] Revision 1894

弄らない弄らないとか言いながらまた弄ってるのはたぶん気のせいです。嘘です気のせいじゃないです…。でも今回は本当にささいなパッチですし…まあ…。

コードはこちら。(色付けの誤爆にうんざりしたので Syntax Highlighter を使ってブログにコードを貼るのはやめました…)

今回は、久々に./configure -h をしてみたときに気付いたもの。--enable-shared の説明部分が build libx264.so となっていたので、これを build libx264.so/libx264.dylib にしたらどうだろうとD_S氏に話したら、「Windowsならlibx264.dll だし shared library でよくない?」とのこと。それでそのように修正した後、27行に渡ってechoを連発しているのがちょっと気になったので、ついでに少し整えました。コスメコスメ。いわゆるヒアドキュメントってやつです。

いつかきちんとしたcosmeticsやりたいですね。時間ェ…。

Wednesday, February 2, 2011

配布バイナリ一覧

http://wipple.m25.coreserver.jp/binaries/x264/

WordPressの「メディア」機能を使ってアップロードするのは、確かにアップロードする側からしたらかなりラクなんですが、落とす側からしたら配布バイナリ一覧が見れないから不便だなあ…と思って、ちょっと弄ってみました。このブログの上の方の「Binary」タブにもリンクが貼ってあります。昔のバイナリ欲しいなーという時はこちらからどうぞ。カテゴリー検索で辿るよりもわかりやすいかなと思います。新しくビルドしたときの記事には、今まで通りダウンロードリンクを貼るつもりです。

表示はすごくあっさりしてますけど、ここに至るまで、.htaccessを弄るのにかなり苦戦…。アイコンが表示されないーー、ファイル名の末尾が切れるーー、あーーうがーーーシクシク…、と苦戦してもうこんな時間…。まあ勉強になりましたけど(笑)

Monday, January 31, 2011

[MacOSX] x264/x264_L-SMASH binary revision 1884/1884+390 [Snow Leopard]

x264_MacOSX_rev1884
x264 0.113.1884 7313bb5
(libswscale 0.12.0)
(libavformat 52.94.0)
(ffmpegsource 2.14.2.0)
built on Jan 30 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

x264_L-SMASH_MacOSX_rev1884_390
x264 0.113.1884+390 64defd8
(libswscale 0.12.0)
(libavformat 52.94.0)
(ffmpegsource 2.14.2.0)
built on Jan 31 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

※今回から7zipで圧縮しています。

Sunday, January 30, 2011

[MacOSX] Gitのビルド

Mac OS XでGitをビルドするのは簡単です。Xcodeさえインストールしてあれば、Gitのサイトからsourceを落としてきて、伸張して、ターミナルでディレクトリに移動(cd)して、以下のようなコマンドを入力していけば済みます。
$ ./configure --prefix=/usr/local && make -j3 && sudo make install

さて。このビルドによって作成されたバイナリがどのライブラリにlinkしているかを調べるには、otoolというコマンドを使います。
$ otool -L git
git:
/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)
/opt/local/lib/libcrypto.1.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)

はてさて。/opt/localほにゃららにlinkしています。Gitは、/opt/local/libや/sw/libというディレクトリが存在するかをチェックして、もし存在するならそこにあるライブラリにlinkするようにしているのでこういうことになります。以下がMakefileの該当箇所です。
ifeq ($(uname_S),Darwin)
ifndef NO_FINK
ifeq ($(shell test -d /sw/lib && echo y),y)
BASIC_CFLAGS += -I/sw/include
BASIC_LDFLAGS += -L/sw/lib
endif
endif
ifndef NO_DARWIN_PORTS
ifeq ($(shell test -d /opt/local/lib && echo y),y)
BASIC_CFLAGS += -I/opt/local/include
BASIC_LDFLAGS += -L/opt/local/lib
endif
endif
PTHREAD_LIBS =
endif

この/swと/opt/localは、それぞれFinkMacPorts(旧DarwinPorts)によって作成されるものです。これらによってインストールされるライブラリは大抵/usr/lib以下にあるものより新しいものなので、普段はこれでも問題ありません。

ただ、例えばビルドしたバイナリを他の環境で動かしたい時などは問題が出る場合があります。相手の環境にFinkやMacPortsがインストールされているとは限りませんし、またたとえそれらをインストールしていても、自分の環境と同じライブラリがインストールされているとも限りません。そのため、バイナリ配布をする際には必ずotoolコマンドでチェックして、自分の環境にしかインストールされていないライブラリにlinkしていないかを確認する必要があります。

では本題。Gitでビルドする際に、/opt/local/libや/sw/libのライブラリにlinkしないようにするにはどうすればいいのか。

  1. FinkやMacPortsをアンインストール———そしてビルダーデビュー(笑)

  2. /opt/localや/swを一時的に別の場所に退避———デスクトップとか。ゴミ箱オススメ(ぉぃ

  3. Makefileの該当箇所を弄る———削除しちゃえ(爆

  4. 'NO_FINK'や'NO_DARWIN_PORTS'を定義———これが一番マシです


4の'NO_FINK'や'NO_DARWIN_PORTS'は、さっきのMakefileの抜粋の2行目と8行目にも出てきました。configureにコメントで解説が書いてあります。
# Define NO_FINK if you are building on Darwin/Mac OS X, have Fink
# installed in /sw, but don't want GIT to link against any libraries
# installed there. If defined you may specify your own (or Fink's)
# include directories and library directories by defining CFLAGS
# and LDFLAGS appropriately.
#
# Define NO_DARWIN_PORTS if you are building on Darwin/Mac OS X,
# have DarwinPorts installed in /opt/local, but don't want GIT to
# link against any libraries installed there. If defined you may
# specify your own (or DarwinPort's) include directories and
# library directories by defining CFLAGS and LDFLAGS appropriately.

手順としては、

  1. ./configureを走らせる

  2. config.mak.autogenというファイルを開く

  3. 適当な行に'NO_FINK=YesPlease'や'NO_DARWIN_PORTS=YesPlease'などと追加する

  4. makeする


とやっていきます。するとこんな感じになります。
$ otool -L git
git:
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.3)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libcrypto.0.9.8.dylib (compatibility version 0.9.8, current version 0.9.8)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)

めでたしめでたしです。これで安心して/opt/localと/swをゴミ箱に捨てられます(ぉ

Friday, January 28, 2011

[MacOSX] x264/x264_L-SMASH binary revision 1882/1882+385 [Snow Leopard]

x264_MacOSX_rev1882
x264 0.113.1882 f6d0c95
(libswscale 0.12.0)
(libavformat 52.94.0)
(ffmpegsource 2.14.2.0)
built on Jan 28 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

x264_L-SMASH_MacOSX_rev1882_385
x264 0.113.1882+385 22830e3
(libswscale 0.12.0)
(libavformat 52.94.0)
(ffmpegsource 2.14.2.0)
built on Jan 28 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: GPL version 2 or later

FFmpeg Git

一昨日くらいに、x264のバイナリを新しいのにしなきゃと思って、ffmpegのgit pullをしたら「libswscaleが云々」と怒られて更新ができなくなった…。原因がよくわからなくて、一度ディレクトリを消してから再度cloneしたら直った…。そして昨日またx264の更新が来たので今朝git pullをしてみたら、今度は「Already up-to-date.」と言われた…。

え…あのFFmpegが2日も更新がないとか…。なにそれ天変地異でも起きるんですか…?(滝汗)

どうも怪しいと思ってサイト(Get FFmpeg)を覗いてみたら、とうとうsvnからgitに完全移行していました。んで、clone URLが git://git.ffmpeg.org/ffmpeg/ から git://git.ffmpeg.org/ffmpeg.git に変わっていました。これがgit pullがうまくいかなかった原因か…。

FFmpegSourceもgitに移行しないかなー。ただ単にplainのまま使うならsvnでもgitでもどっちでもいいんですが、パッチ当てたりちょっとコード弄ったり、開発面で考えるとgitの方が断然効率がいいんですよね。本当に管理がしやすい。でもGoogle Codeがgit採用していないんですよねえ…。うーん…(笑)

再度のお引越し

livedoor BlogからBloggerに引越し、更に今回また引越しをすることに。なんか尻が軽い奴だと思われるかもしれませんが、それぞれきちんと理由があります。面倒だから書きませんが…(笑)

今回はレンタルサーバを借りて、WordPressを設置しています。最近SorceForgeJPがブログ機能を追加して、それを機会に WordPressに初めて触ったのですが、惚れ込んでしまって…。外観テーマやプラグインなど、カスタマイズもしやすいし、エディタも使いやすい。実際 にブログを設置して引越しの準備まで始める有様。でも実際に記事を書いて公開してみたら、サイドバーにデカデカとSorceForgeの広告が(笑)まあ そんな虫のいい話があるわけでもなし。こりゃ駄目だと思い、それからはずっとレンタルサーバを探す旅に…(笑)

無料のレンタルサーバもたくさんあって、審査制のものには広告がつかないものまであるのでかなり悩みました。ただ、サイトのアピールとかが面倒で…。電話番号の入力とか、住所の入力とか、もうイロイロ面倒で…。おまけに追加したい機能があったら申請の連絡して許可をとるのも面倒で…。「細かいことは気にしない、でも金は払え」という方針の方が自分には合っているんだと今回実感。自分、お金ないんですけど…(笑)

結局今はCORESERVERを借りています。1日に大してアクセスがあるわけでもないし、バイナリのダウンロード数も少ないので、CORE-MINIプランです。月額200円強です。安いですね。安いってことはそれなりに不便なところもあるのでしょうけど、しばらくこれで様子見してみます。支払いは、余っているウェブマネーを使うつもり。これもCORESERVERに決めた理由。

これで知人とのファイルのやりとりで、ストレスの多いアップローダを使うこともなくなります。10MBまでならWordPressの機能でアップロードできるので、バイナリの配布も簡単。他にも色々な活用法を妄想しているけど、割愛。

そして今回引越しする際に、Blogger時代の記事もいくつか持ってきました。どうでもいい記事は消していますが。今後も参照しそうなものとか。ついでにアプリケーション備忘録とかはちょっとだけ加筆修正してあったり。livedoor Blogはエクスポートが有料なので諦めました。

記事の書き方とか、ページの設定とか、まだまだ試行錯誤中ですが、今後はこちらでよろしくお願いします。一年分お金払うつもりだから、今回は最短でも一年は引越ししません(笑)

お引越し

"wipple's room" moved to CORESERVER.JP.

http://wipple.m25.coreserver.jp/?p=177

Wednesday, January 26, 2011

[x264] Revision 1878

久々にパッチを提出して採用されたのでブログのネタに。
しばらくx264を弄るのはやめると言ったにも関わらず…。
でも、今やってることと関係があるしってことで…(笑)

今回はlavf inputです。
なんか…今後もweightpとlavf/ffms関係しか弄らない気がしてきました(笑)
コードはこれ

このパッチのきっかけはDoom10のこのスレッド

ふと気になって、ffmpegでソースを作ってlavfで試してみたら、あら?lavfがファイルを開けない。
うちだけかなと色々試行錯誤していると、質問者の環境でも開けないとエラーが出たというポスト。
やっぱり何か原因があるらしい。

ffmpegで開けるのにlavfで駄目ならlavf側の問題だろうと推測してコードを覗いてみることに。
input/lavf.cのそれらしき箇所を覗いて、適当に弄って試行錯誤して動かすことに成功。
どうやら拡張子の問題らしい。
と、ここまで整理してからスレッドに書き込もうとしたら、J_Darnley氏が既に書き込んでいました…orz
さすがです…。

でも改善できるならこれはこれで有用かなーと思い、--input-fmtオプションとして#x264devに提出することに。
動作としては、lavf inputを使用する際に、ファイルフォーマットを指定できるようになります。

ffmpegで入力ファイルフォーマットを指定するには、`-i INPUTFILE`より前に`-f FILEFORMAT`で指定します。
例えば `ffmpeg -f rawvideo -i input.yuv`と入力すれば、input.yuvをrawvideoとしてopenします。
この`-f`に相当するのが今回の--input-fmt。
先の例と同等のことをx264でしたければ、`x264 --demuxer lavf --input-fmt rawvideo input.yuv`となります。

今回のパッチ提出では、コード面で猫さんに、英語面でJEEB氏に、テスト面でChikuzen氏に頼りました。
みんな大好き。
ペロペロ。

それにしても#x264devは相変わらず緊張する…。
特にラスボスが強敵すぐる。
今回もペンギン様のドリル嘴くらいましたorz
めっちゃ怖い…。
まあ今回はコードの修正ではなくて、コメントの修正だったので気が楽でしたが…。
それでも怖い…orz
1年分の緊張をした…。

[x264] Revision 1878

久々にパッチを提出して採用されたのでブログのネタに。
しばらくx264を弄るのはやめると言ったにも関わらず…。
でも、今やってることと関係があるしってことで…(笑)

今回はlavf inputです。
なんか…今後もweightpとlavf/ffms関係しか弄らない気がしてきました(笑)
コードはこれ

このパッチのきっかけはDoom10のこのスレッド

ふと気になって、ffmpegでソースを作ってlavfで試してみたら、あら?lavfがファイルを開けない。
うちだけかなと色々試行錯誤していると、質問者の環境でも開けないとエラーが出たというポスト。
やっぱり何か原因があるらしい。

ffmpegで開けるのにlavfで駄目ならlavf側の問題だろうと推測してコードを覗いてみることに。
input/lavf.cのそれらしき箇所を覗いて、適当に弄って試行錯誤して動かすことに成功。
どうやら拡張子の問題らしい。
と、ここまで整理してからスレッドに書き込もうとしたら、J_Darnley氏が既に書き込んでいました…orz
さすがです…。

でも改善できるならこれはこれで有用かなーと思い、--input-fmtオプションとして#x264devに提出することに。
動作としては、lavf inputを使用する際に、ファイルフォーマットを指定できるようになります。

ffmpegで入力ファイルフォーマットを指定するには、`-i INPUTFILE`より前に`-f FILEFORMAT`で指定します。
例えば `ffmpeg -f rawvideo -i input.yuv`と入力すれば、input.yuvをrawvideoとしてopenします。
この`-f`に相当するのが今回の--input-fmt。
先の例と同等のことをx264でしたければ、`x264 --demuxer lavf --input-fmt rawvideo input.yuv`となります。

今回のパッチ提出では、コード面で猫さんに、英語面でJEEB氏に、テスト面でChikuzen氏に頼りました。
みんな大好き。
ペロペロ。

それにしても#x264devは相変わらず緊張する…。
特にラスボスが強敵すぐる。
今回もペンギン様のドリル嘴くらいましたorz
めっちゃ怖い…。
まあ今回はコードの修正ではなくて、コメントの修正だったので気が楽でしたが…。
それでも怖い…orz
1年分の緊張をした…。

Sunday, January 23, 2011

JMのバージョン

今朝IRCの#x264devのログをなんとなく眺めていたら、horlicks氏がregression testがうまくいかないと話しているのが目についた。以前の記事でも書きましたけど、JMにはバグがあって、もしかしてそれ関連かなーと思って更に読み進めていったら、どうやらそうではないらしい。まあ実際には原因は些細なことだったみたいで、うまくいかない問題は解決したらしい。めでたしめでたしです。


…。


え?解決した?なんだと!?

もう一度ログに目を通してみたら、horlicks氏もkomisar氏もJMのバージョンは16.0を使っているみたい。僕がテストしたのは 17.2。というわけで16.0をダウンロードしてXcodeでビルドして現在のldecodを置き替えてregression testをしてみたら…無事passed…。念の為にもう一度17.2の方もビルドしてtestを通してみたらやっぱり失敗する…。キーーーーーーーーー!!

そんなわけで今後は16.0を使うことにしました。

Saturday, January 22, 2011

JMのバージョン

今朝IRCの#x264devのログをなんとなく眺めていたら、horlicks氏がregression testがうまくいかないと話しているのが目についた。以前の記事でも書きましたけど、JMにはバグがあって、もしかしてそれ関連かなーと思って更に読み進めていったら、どうやらそうではないらしい。まあ実際には原因は些細なことだったみたいで、うまくいかない問題は解決したらしい。めでたしめでたしです。

 

…。

 

え?解決した?なんだと!?

 

もう一度ログに目を通してみたら、horlicks氏もkomisar氏もJMのバージョンは16.0を使っているみたい。僕がテストしたのは17.2。というわけで16.0をダウンロードしてXcodeでビルドして現在のldecodを置き替えてregression testをしてみたら…無事passed…。念の為にもう一度17.2の方もビルドしてtestを通してみたらやっぱり失敗する…。キーーーーーーーーー!!

 

そんなわけで今後は16.0を使うことにしました。

 

[追記]
Bloggerのエディタを使いたくなくなったので、Google ドキュメントを使って書いたんですけどうまくいかず、
投稿しては消し、また投稿しては消し…の繰り返し(笑)
今度はPetrus Bloggerを使って書いてみたんですけど、AquaSKKと相性がよくないです…(笑)
もうちょっと色々調べてみよう…。

 

[再追記]
改行が全部無視された…(笑)
きちんとしたブログエディタを探そう…orz

Thursday, January 13, 2011

[MacOSX] x264/x264_L-SMASH binary revision 1867/1867+382 [Snow Leopard]

x264_MacOSX_rev1867.zip
x264 0.112.1867 22bfd31
(libswscale 0.12.0)
(libavformat 52.92.0)
(ffmpegsource 2.14.1.1)
built on Jan 11 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: LGPL version 2.1 or later

x264_L-SMASH_MacOSX_rev1867+382.zip
x264 0.112.1867+382 c5c98b8
(libswscale 0.12.0)
(libavformat 52.92.0)
(ffmpegsource 2.14.1.1)
built on Jan 12 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: LGPL version 2.1 or later

x264_L-SMASHの方にはfgoパッチを当てています

※おまけ
FFmpegSource r411

wipple625(笑)
Gmailのアカウント名のまんまコミットログに載ってしまいました…。
はい…6月25日が誕生日です…(笑)

Wednesday, January 12, 2011

[MacOSX] x264/x264_L-SMASH binary revision 1867/1867+382 [64bit]

x264_MacOSX_rev1867.zip
x264 0.112.1867 22bfd31
(libswscale 0.12.0)
(libavformat 52.92.0)
(ffmpegsource 2.14.1.1)
built on Jan 11 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: LGPL version 2.1 or later

x264_L-SMASH_MacOSX_rev1867+382.zip
x264 0.112.1867+382 c5c98b8
(libswscale 0.12.0)
(libavformat 52.92.0)
(ffmpegsource 2.14.1.1)
built on Jan 12 2011, gcc: 4.2.1 (Apple Inc. build 5664)
configuration: --bit-depth=8
x264 license: GPL version 2 or later
libswscale/libavformat/ffmpegsource license: LGPL version 2.1 or later

x264_L-SMASHの方にはfgoパッチを当てています


※おまけ
FFmpegSource r411

wipple625(笑)
Gmailのアカウント名のまんまコミットログに載ってしまいました…。
はい…6月25日が誕生日です…(笑)