このページの全ては誤っているかもしれません。[[x264関連の記事に関して]]を読んでください。 !!!x264-changelog-jp r1500-r1599 r1500-r1599のchangelogの日本語訳。その他のリビジョンと注意事項については[[x264-changelog-jp]]へどうぞ。 前:[[x264-changelog-jp r1400-r1499]] - 次:[[x264-changelog-jp r1600-r1699]] !x264r1599 {{bq git-id : dd4972a2cb50b567542391e288d17ebba7536911 Author : Anton Mitrofanov Date: Tue May 18 22:26:59 2010 +0400 Mark Win32 executable as large address aware }} {{bq Win32の実行形式をlarge address awareとマーク。 }} 通常、Win32においては、1つのプロセスは2GBまでしかUSER空間のメモリを使用できない。 これが、実行ファイルのヘッダにある"large address aware"というフラグを立てることによって、3GBまで使用可能になる。 この機能が有効に働くためには、64bit版のWindows上か、boot.iniで/3GBのオプションを指定した32bit版のWindows上で実行する必要がある。 !x264r1598 {{bq git-id : 1b48874d06c5927808554a3c869e6fd01db238bc Author : Kieran Kunhya Date: Thu May 20 17:45:16 2010 +0100 Add "Fake interlaced" option This encodes all frames progressively yet flags the stream as interlaced. This makes it possible to encode valid 25p and 30p Blu-Ray streams. Also put the pulldown help section in a more appropriate place. }} {{bq "Fake interlaced"オプションを追加。 これは全てのフレームをプログレッシブでエンコードするが、ストリームにはインターレースであるとしてフラグを立てる。 これは有効な25pと30pのBlu-Rayストリームをエンコードすることを可能にする。 また、ヘルプのpulldownのセクションをより適切な場所に置いた。 }} X264_BUILD 96。 --fake-interlacedオプションが追加。 TODO: H.264のインターレース方式に関しての記事を書く。 内容はフラグの意味と大まかな構成のみ。 深淵は底が見えないのであまり深くは触れない。 !x264r1597 {{bq git-id : 8ff16c56ee5aba39ab0c278df2a2e94282eb29f3 Author : Alex Jurkiewicz Date: Thu May 20 15:01:37 2010 +0800 Modify version.sh to output to stdout. Update configure to match. }} {{bq version.shをstdoutに出力するよう修正。 相応するようにconfigureを修正。 }} !x264r1596 {{bq git-id : 629a56a54bccde2e43fe831796bec885a164acf3 Author : Henrik Gramner Date: Wed May 19 23:09:58 2010 +0200 Set correct filesystem permissions for various files }} {{bq 様々なファイルに対し、ファイルシステム上の正しいパーミッションを設定。 }} これは珍しい。ファイルの内容の修正は一切なく、パーミッションのみの修正。 Windowsユーザに説明しておくと、Linuxその他のUnixライクな環境でも、 いわゆる「読み取り専用」のようなファイルの属性が存在し、パーミッションと呼ばれる(実際には権限の設定も含むためもっと広い概念のもの)。 gitはパーミッションを記録することができるらしく、それのみが変更されている。 !x264r1595 {{bq git-id : c7876580bf822e63f1f77689218bfbbea4f9b9fc Author : Anton Mitrofanov Date: Wed May 19 21:07:03 2010 +0400 Fix regression in r1566 Intra stats need to be kept track of for fast intra decision. }} {{bq r1566のレグレッションを修正。 intra統計はfast intra decisionのために追跡され続けなければならない。 }} !x264r1594 {{bq git-id : ff0fede90cdac017457a77d026476a36d04cacd4 Author : Jason Garrett-Glaser Date: Tue May 18 11:53:32 2010 -0700 Fix rc-lookahead in encoding options SEI in 2-pass with VBV }} {{bq VBVを使用する2-passで、rc-rookaheadのSEI中へのオプションの埋め込みを修正。 }} !x264r1593 {{bq git-id : 86c8fec9a8fe39b2a6381fe25bb69ec10e3a6859 Author : Loren Merritt Date: Mon May 17 14:08:37 2010 -0700 Reduce memory usage in 2-pass with b-adapt 2 }} {{bq b-adapt 2を使用する2-passでメモリ使用量を削減。 }} !x264r1592 {{bq git-id : 95aacc4fb0ed4477a8c8b7cbf3f8c89229b03dc7 Author : Jason Garrett-Glaser Date: Sat May 15 14:48:58 2010 -0700 Overhaul CABAC: faster, less cache usage Horribly munge up the CABAC tables to allow deduplication of some data. Saves 256 bytes of L1d cache in non-RD, 512 bytes in RD. Add asm versions of bypass and terminal; save L1i cache by re-using putbyte code. Further optimize encode_decision. All 3 primary CABAC functions fit in under 256 bytes of code total on x86_64. }} {{bq CABACのオーバーホール:高速で、キャッシュ使用量がより少ない。 CABACのテーブルを非常に複雑に処理することで、いくつかのデータを重複させないことを可能に。 非RDで256バイト、RDで512バイトのL1dキャッシュを節約。 bypassとterminalのasmバージョンを追加;putbyteのコードを再使用することでL1iキャッシュを節約。 さらにencode_decisionを最適化。 x86_64で主な3つのCABAC関数の全てが256バイト以下のコードに収まった。 }} "munge"の訳が難しい。最初は「入り組ませる」としていたが、「複雑化」等の方が良いという意見を受けたので変えておいた。さらにpengvado氏から複雑になるのは目的語であるデータはなく、動作自体だと指摘を受けた("munge X" is "do something complicated to X", not "make X become complicated".)ので修正した。 英語の"munge"はよりテクニカルな専門用語で、「解読・解析を困難にするような複雑な処理」を指している。ただし、暗号化とは異なる。例えばパスワードの設定時に大文字・小文字・記号を含めてよりランダム性を上げる行為を、mungeと呼ぶらしい。 !x264r1591 {{bq git-id : 03ff36e3b48729516a1f94bc0475bff13525d1a2 Author : Kieran Kunhya Date: Thu May 13 19:13:35 2010 +0100 Fix typo in pulldown }} {{bq pulldownのタイポを修正。 }} !x264r1590 {{bq git-id : e07cd36aba1b6743ba64607acbb66e02177b5616 Author : Anton Mitrofanov Date: Wed May 12 22:05:34 2010 +0400 Fix bitrate calculation in progress status Was slightly incorrect due to using pts, which is out of order. }} {{bq 進捗状況のビットレートの計算を修正。 順序の変わるPTSを使用していたことにより、僅かに正しくなかった。 }} !x264r1589 {{bq git-id : 444794d8c805b1951d985a1b5d1d1a2e5b8342a3 Author : Anton Mitrofanov Date: Wed May 12 01:57:38 2010 +0400 Fix crash with sliced-threads on Phenom }} {{bq Phenom上のsliced-threadsでのクラッシュを修正。 }} !x264r1588 {{bq git-id : cb0614356f42f7032cec8c09b439570dbc464e01 Author : Jason Garrett-Glaser Date: Mon May 10 22:59:12 2010 -0700 Fix condition for printing rc=cbr in options SEI Also fix crf-max formatting. }} {{bq SEIのオプションでrc=cbrを表示する条件を変更。 また、crf-maxのフォーマットを修正。 }} !x264r1587 {{bq git-id : 4b4f8eb89bfc033a1bc52684636c7f4f8c314345 Author : Henrik Gramner Date: Mon May 10 23:27:36 2010 +0200 Shrink even more constant arrays }} {{bq また更に定数配列を縮小。 }} 最近のx264ではコード・データ共にサイズを縮小する修正が流行しているようだ。 メモリ使用量以外に、このような修正がもたらす効果が何であるかは、一般的には断定しづらい。 しかし、x264の場合、この手の修正はCPUのキャッシュの効率的な利用を狙う修正であることが多い。 このような変更では、時に実行にかかるクロック数が増加することもある。 すると、キャッシュの効率化による高速化との間で、その効果が相殺されてしまう。 しかしx264の開発者は、少なくとも遅くはならないように努力しているので、多くの場合は高速化していると思って良い。 !x264r1586 {{bq git-id : 15686c04643ea9b4c5a6d2c22a280437426d1c36 Author : Jason Garrett-Glaser Date: Sat May 8 12:07:13 2010 -0700 Add API function to trigger intra refresh Useful for interactive applications where the encoder knows that packet loss has occurred on the client. Full documentation is in x264.h. }} {{bq intra refreshを発生させるAPI関数を追加。 クライアント側でパケットのロスが発生したことを知るエンコーダのような、インタラクティブなアプリケーションで有用。 完全なドキュメントはx264.hにある。 }} X264_BUILD 95。 !x264r1585 {{bq git-id : 29b379cc3499541e72007131909d45a8c472f2b5 Author : Jason Garrett-Glaser Date: Sat May 8 11:58:22 2010 -0700 Fix intra refresh behavior with I-frames Intra refresh still allows I-frames (for scenecuts/etc). Now I-frames count as a full refresh, as opposed to instantly triggering a refresh. }} {{bq intra refreshでのIフレームの動作を修正。 Intra refreshでもIフレームは許される(シーンカット等)。 Iフレームは、即座にrefreshを起こすものとは対照的に、完全なリフレッシュとして計上するように。 }} 恐らくintra-refreshの具体的な動作を知らないとこのコミットコメントはわかりづらいと思われる。 x264はintra-refreshがどこで発生し、現在のフレームでどのくらい進行しているか、といった情報を管理している。 そういった状態管理の中で、Iフレームの存在が勘案されるようになったということだ。 結果として、Iフレームの直後にintra-refreshが発生してしまうバグが修正され、intra-refreshが効果的(ユーザが想定する)タイミングで適正に発生するようになった。 !x264r1584 {{bq git-id : 09b5a943c62212447a0151dfd5324f8e36715272 Author : Anton Mitrofanov Date: Thu May 6 10:03:31 2010 -0700 More cosmetics }} {{bq 更なるコスメティックス。 }} !x264r1583 {{bq git-id : 7608d73d489e9ed4e57ae80f01d7da67323e029d Author : Jason Garrett-Glaser Date: Thu May 6 00:53:20 2010 -0700 Fix unresolved symbol in r1573 gnu ld didn't complain, but some other linkers did. }} {{bq r1573での未解決のシンボルを修正。 gnu ldは何も言わないが、他の幾つかのリンカは文句をつける。 }} ビルドにのみ影響。 !x264r1582 {{bq x264r1582 git-id : 90b6dd00745f278ce56870ec32ce973bfc1c5f5d Author : Steven Walters Date: Wed May 5 19:54:04 2010 -0400 Remove unnecessary --enable options Change --enable-visualize to actually check for X11 support. }} {{bq 不要な--enableオプションを削除。 --enable-visualizeがX11のサポートを実際にチェックするように変更。 }} ビルドにのみ影響。 --enable-xxxというオプションがあると、やたら機能を付けたがる輩が「これはどうやって使うの?」と質問攻めにしてくることへの対応なのではないだろうか。 ユーザが不使用と指定せず、かつ利用可能なのであれば自動的に使えばいいと判断された模様。 !x264r1581 {{bq git-id : 174aedc50c1455045c3a1d846e0df6399918dbd8 Author : Jason Garrett-Glaser Date: Mon May 3 21:27:16 2010 -0700 Don't force row QPs to integer values with VBV VBV should no longer raise the bitrate of the video. That is, at a given quality level or average bitrate, turning on VBV should only lower the bitrate. This isn't quite true if adaptive quant is off, but nobody should be doing that anyways. Also may result in slightly more accurate per-row VBV ratecontrol. }} {{bq VBVでrow QPを強制的に整数にはしない。 VBVが映像のビットレートを持ち上げなくなるはず。つまり、与えられた画質レベルまたはビットレートにおいて、VBVをonにすることはビットレートを低下のみさせるはず。 これはadaptive quant(AQ)がoffの場合には完全に真ではないが、いずれにしても、誰もそのようなことをすべきではない。 row毎のVBVレートコントロールが僅かに精密になるだろう。 }} 本来、VBVをonにすることの目的は、再生環境・機器に合わせてビットレートとバッファ(CPB)の使用量を適宜抑制することにある。 つまりVBVをonにすることでビットレートが上がってしまうのは根本的に望ましい動作ではなく、それが修正されたということ。 !x264r1580 {{bq git-id : 8508412c878b4823906cd5c67b46698ce9bc297d Author : James Darnley Date: Sun May 2 16:30:50 2010 -0700 Add field-order detection to y4m demuxer }} {{bq y4mのdemuxerにフィールドオーダの検出を追加。 }} !x264r1579 {{bq git-id : 44f83cc129480d67c76b1b0e11c97870957ff2c2 Author : Jason Garrett-Glaser Date: Sun May 2 11:45:15 2010 -0700 Fix sliced-threads + interlaced Broken in r1546. }} {{bq sliced-threads + interlacedを修正。 r1546で壊していた。 }} !x264r1578 {{bq git-id : 3cf182b2d0b5fd38538a3b6e5102b925a5747687 Author : Jason Garrett-Glaser Date: Sun May 2 11:41:36 2010 -0700 Improve temporal MV prediction Predict based on the results of p16x16 search, not final MVs. This lets us get predictions even if mode decision chose intra. Also improves cache coherency. }} {{bq temporal(時間軸)のMV予測を改善。 最終MVではなくp16x16検索の結果に基づき予測。 これはモード決定がintraを選択した場合でも予測を得ることを可能にする。 キャッシュコヒーレンシを改善。 }} TODO:キャッシュコヒーレンシについて記述。簡単に言えばキャッシュの整合性問題の改善。 !x264r1577 {{bq git-id : c82273d6d74271e0f743c5729e7438ff37e2df5e Author : Jason Garrett-Glaser Date: Sat May 1 19:34:14 2010 -0700 More accurate MV prediction on edges in lookahead }} {{bq lookaheadにおいて、端の部分に対するより精密なMV予測。 }} !x264r1576 {{bq git-id : ccc03ec16125e0586231afbb06936bd0bf8c926d Author : Jason Garrett-Glaser Date: Sat May 1 19:32:01 2010 -0700 Error out on invalid input stride Might catch some crashes due to buggy calling applications. }} {{bq 入力の不正なストライドに対してエラー出力。 バグのある呼び出し側アプリケーションに起因するクラッシュを捕捉するだろう。 }} ストライドの説明はr1538を参照。 具体的にはVLCか何かで問題になったっぽい。 !x264r1575 {{bq git-id : 21c030d96f5f71b49e4f2cd748e13da1dcad429d Author : Jason Garrett-Glaser Date: Sat May 1 00:18:01 2010 -0700 Remove unnecessary debugging assert Shouldn't have been in r1568 to begin with. }} {{bq 不要なデバッグ用assertを除去。 r1568の時点から存在するべきではなかった。 }} !x264r1574 {{bq git-id : 181fc45d360ff8d586259f461fe5a21c4c37aefb revision : r1574 Author : Jason Garrett-Glaser Date: Fri Apr 30 13:45:50 2010 -0700 Shrink some more constant arrays }} {{bq さらにいくつかのconst配列を縮小。 }} !x264r1573 {{bq git-id : 41be22fc887a5904223350a885c9f2c0981a1c8d Author : Jason Garrett-Glaser Date: Fri Apr 30 11:36:19 2010 -0700 Deduplicate asm constants, automate name prefixing Auto-prefix global constants with x264_ in cextern. Eliminate x264_ prefix from asm files; automate it in cglobal. Deduplicate asm constants wherever possible to save data cache (move them to a new const-a.asm). Remove x264_emms() entirely on non-x86 (don't even call an empty function). Add cextern_naked for a non-prefixed cextern (used in checkasm). }} {{bq asmの定数の重複を排除、名前のプレフィックスを自動化。 グローバル定数にはcexternで自動的に"x264_"のプレフィックスを行う。 "x264_"のプレフィックス表記をasmファイルから排除;cglobalで自動化。 asm定数の単一化は可能な限りデータキャッシュを節約する(これらは新規のconst-a.asmに移動)。 x264_emms()を非x86から完全に除去(空関数を呼びさえもしない)。 プレフィックスを付けないcexternとしてcextern_nakedを追加(checkasmで使用)。 }} アセンブラの大きなコスメティックス。このdiffはマクロの使い方の例としてわかりやすいかもしれない。 common/x86/const-a.asmが追加。 !x264r1572 {{bq git-id : 9ec07af8692c9e10f048f0b41897e66ac3a062cb Author : Jason Garrett-Glaser Date: Fri Apr 30 09:57:55 2010 -0700 Shrink a few x86 asm functions Add a few more instructions to cut down on the use of the 4-byte addressing mode. }} {{bq いくつかのx86のasm関数を小さく。 4バイトアドレッシングモードの使用を削減するためにさらにいくつかの命令を追加。 }} !x264r1571 {{bq git-id : 9d66767e2569e30339363a2d69c74213d84e7dbc Author : Jason Garrett-Glaser Date: Thu Apr 29 19:53:59 2010 -0700 Make options SEI use weight* instead of wpred* More intuitive and maps more reasonably to the CLI options. Breaks statsfile backwards-compatibility. }} {{bq SEIのオプション表示でwpred*の代わりにweight*を使うようにした。 より直感的で、合理的にCLIのオプションに対応する。 これはstatsファイルの後方互換性を壊す。 }} !x264r1570 {{bq git-id : d9db8b3ed9615f4262d58e0d9ed1e1bb83f6673e Author : Loren Merritt Date: Thu Apr 29 17:35:25 2010 +0000 r1548 broke subme < 3 + p8x8/b8x8 Caused significantly worse compression. Preset-wise, only affected veryfast. Fixed by not modifying mvc in-place. }} {{bq r1548はsubme < 3 + p8x8/b8x8を壊していた。 有意な圧縮率の悪化を引き起こしていた。プリセット視点では、veryfastのみに影響していた。 mvcをin-place(その場で)変更しないことで修正。 }} " doesn't break the encode, but it's like +20% bitrate due to killing most of the predictors"との事なので結構インパクトありそう。 !x264r1569 {{bq git-id : bff0df76deeed96e76e3c965223065d30258e7d5 Author : Henrik Gramner Date: Tue Apr 27 01:44:33 2010 +0200 More write-combining }} {{bq 更なるライト・コンバイニング。 }} 以前にも説明したかも知れないが、ライトコンバインとは例えば本来2byte*8回である書き込みを16byte*1回で済ますような高速化技法。 C言語で扱う上ではtype-punを含むことになるのでstrict aliasing ruleの違反に注意すべき。 x264では先日追加されたM128を使用。 これがどの程度最適化されるか(実際にライトコンバインになるか結局分割されてしまうか)は、コンパイラと実行されるCPUに依存すると思われる。 !x264r1568 {{bq git-id : 41b877e0ab14a77a211e0cd087bf9c3726b2c2f6 Author : Jason Garrett-Glaser Date: Mon Apr 26 15:10:11 2010 -0700 Reduce lookahead memory usage, cache misses Merge lowres_types with lowres_costs. }} {{bq lookaheadのメモリ使用量とキャッシュミスを削減。 lowres_typesをlowres_costsに統合。 }} lowres_costsの空きビットにlowres_typeを格納するようにしたということ。 hackyな手法で、計算量が僅かに増加するが、CPUのキャッシュの効率を考えると高速なのだろう。 !x264r1567 {{bq git-id : bf49210db8acd958a3cb266d6ecb679d16901a1d Author : Jason Garrett-Glaser Date: Sun Apr 25 14:54:29 2010 -0700 Fix build on x86 with asm on but SSE off }} {{bq asmは使うがSSEがOFFの場合のx86ビルドを修正。 }} !x264r1566 {{bq git-id : dffb848b6b36dd9fd811dae9f2e1f6e9b99065f1 Author : Jason Garrett-Glaser Date: Sat Apr 24 13:55:51 2010 -0700 Don't calculate ref/partition stats if not necessary }} {{bq 不要な場合にはref/partition統計を計算しない。 }} !x264r1565 {{bq git-id : 167d68a65ea8d777f03c632b8c135b6b10a854b6 Author : Jason Garrett-Glaser Date: Sat Apr 24 13:07:18 2010 -0700 Split out MV prediction into mvpred.c Make common/macroblock.c a bit less gigantic. }} {{bq MV予測をmvpred.cに分割。 common/macroblock.cを少し巨大でなくした。 }} common/mvpred.cが追加。 !x264r1564 {{bq git-id : a927654cf5b4d3f25364b7fcebbce0bc4b178dec Author : Loren Merritt Date: Sat Apr 24 16:22:14 2010 +0000 Fix mv predictor clipping on non-x86 (regression in r1548) }} {{bq 非x86でのMV予測値のクリッピングを修正(r1548でのレグレッション)。 }} !x264r1563 {{bq git-id : fbcc1ecd6de4b12dc0ee39bfa426ef150b89b047 Author : Anton Mitrofanov Date: Sat Apr 24 00:26:13 2010 +0400 Move getopt.c to x264cli sources from libx264 Only affects builds on systems without getopt.c. }} {{bq getopt.cをlibx264からx264cliのソースに移動。 getopt.cのないシステムでのビルドにのみ影響。 }} !x264r1562 {{bq git-id : 8fae650c3e1766456a086f69b379c4377765ba3a Author : Jason Garrett-Glaser Date: Thu Apr 22 12:53:07 2010 -0700 Move deblocking code to a separate file Should clean up frame.c a bit. }} {{bq デブロッキングコードを別途分割のファイルに移動。 frame.cが少し整理されたはず。 }} common/deblock.cが追加。 !x264r1561 {{bq git-id : f648d24a88be21970562bac84bd4e5ea569cb8ef Author : Steven Walters Date: Tue Apr 20 19:48:02 2010 -0400 fix ffms demuxer to support input timebase values > 2^31 }} {{bq 2^31を超える入力timebase値をサポートするようffmsのdemuxerを修正。 }} !x264r1560 {{bq git-id : 4ce8f1232358004cd16f3f83c3dd81e87707ff56 Author : Jason Garrett-Glaser Date: Tue Apr 20 16:53:06 2010 -0700 Fix 10l in cache_load changes Broke constrained intra pred, probably not anything else. }} {{bq cache_loadの変更での10Lを修正。 constrained intra予測を壊していたが、恐らくその他は大丈夫。 }} 10Lはもうx264のchangelogを読む人間にとっては常識になっているが、その由来は結構古いらしく、かなり以前の[MLで話題になったり|http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2002-May/007585.html]していたようだ。 !x264r1559 {{bq git-id : f6114408330c1f1c5bb897ab74258f9972cc9bf9 Author : Jason Garrett-Glaser Date: Tue Apr 20 16:50:13 2010 -0700 Faster fullpel predictor checking Also shave a few instructions off dia/hex motion estimation loops. }} {{bq fullpel予測のチェックを高速化。 dia/hexの動き見積りのループから命令数を少し削減。 }} !x264r1558 {{bq git-id : f48356d47ae3ecc65a72486604e3ce36dd2d3518 Author : Loren Merritt Date: Tue Apr 20 09:40:49 2010 +0000 Fix checkasm's generation of deblock inputs (regression in r1517) }} {{bq checkasmのデブロック入力の生成を修正(r1517でのレグレッション)。 }} checkasmの修正なので一般ユーザには関係ない。 !x264r1557 {{bq git-id : e37a4907a51c16ebe16cbdffcd87a5d8fc3c342c Author : Loren Merritt Date: Tue Apr 20 09:17:18 2010 +0000 Fix printing of bitrate when timestamps aren't available Doesn't affect x264cli, but was broken in some other apps in CFR mode. }} {{bq タイムスタンプが利用できない場合のビットレートの表示を修正。 x264cliには影響しないが、他の幾つかのアプリケーションでのCFRモードでは壊れていた。 }} !x264r1556 {{bq git-id : 5b1798ebf29c4a277fe99b61bbfb6cc816db263a Author : Jason Garrett-Glaser Date: Tue Apr 20 00:46:29 2010 -0700 Don't check mv0 twice One less SAD in motion estimation. Also rename bmv -> pmv; more accurate naming. }} {{bq mv0を2回チェックしないように。 動き見積もりでSADが1回減少。 bmvをpmvにリネーム(訳注:内部の変数名);より適切な名前に。 }} !x264r1555 {{bq git-id : c76069fec1b7711c754fea593abaf470901e54c3 Author : Jason Garrett-Glaser Date: Mon Apr 19 11:02:27 2010 -0700 Remove reordering restrictions from weightp Apparently the spec does allow two consecutive copies of the same frame in the reference list. This involves an incredibly ugly hack to wrap around the frame number. Very slight compression improvement. }} {{bq weightpから再配置制限を除去。 仕様上、参照リスト中で同じフレームの連続する2つのコピーは許されるらしい。 これはフレーム番号をラップアラウンドするという信じられないような見苦しいハックを生む。 とても僅かな圧縮率の改善。 }} unsigned値である参照フレーム番号を0からさらにデクリメントし、ラップアラウンドによって最大値に割り当てるようなハック。 仕様上これが許されるというのは確かに信じがたい。 !x264r1554 {{bq git-id : d6d63a0d1fb1ac1526da4bcdcc0a24e42e03a39c Author : Jason Garrett-Glaser Date: Mon Apr 19 23:34:03 2010 -0700 Print intra chroma pred modes in stats }} {{bq intra chroma予測モードを統計情報に出力。 }} !x264r1553 {{bq git-id : 4013f8d89aa3722b2e8d457eab7c65e33e50aca1 Author : Jason Garrett-Glaser Date: Sun Apr 18 22:54:48 2010 -0700 Add mv0 special case in pskip chroma MC Significantly faster pskip MC. }} {{bq pskipのchroma MCでmv0の特例を追加。 pskip MCを有意に高速化。 }} 時々、用語が専門的に過ぎて、わかりにくいんじゃないかと思うのだが。 「Pフレームのスキップマクロブロック処理において色情報に対する動き補償が高速化された」ということ。 !x264r1552 {{bq git-id : 156bf75dfb99913bdc8db73a858130e63c6bf5c4 Author : Francois Cartegnie Date: Sun Apr 18 13:04:59 2010 -0700 Fix build scripts to work with non-GNU tools }} {{bq 非GNUツールでも動作するようにビルドスクリプトを修正。 }} ビルドにのみ影響。 具体的に対象となるのはSolaris等。 !x264r1551 {{bq git-id : a34ad7c1282a26d5a35f502b75f7dc24322ba01c Author : Jason Garrett-Glaser Date: Fri Apr 16 20:04:13 2010 -0700 Faster deblock reference frame checks Use a lookup table to simplify logic }} {{bq デブロックの参照フレームチェックを高速化。 ロジックをシンプル化するために表引きを使用。 }} !x264r1550 {{bq git-id : 5dab1efd428735f10a9670637dddffe763286dc4 Author : Henrik Gramner Date: Fri Apr 16 22:39:45 2010 +0200 Faster chroma CBP handling }} {{bq chromaのCBP処理を高速化。 }} !x264r1549 {{bq git-id : 28fd5fb80fe1ab5c2bf51453a84fee4a18935ef9 Author : Jason Garrett-Glaser Date: Fri Apr 16 11:36:43 2010 -0700 Fix issues with extremely large timebases With timebase denominators >= 2^30 , x264 would silently overflow and cause odd issues. Now x264 will explicitly fail with timebase denominators >= 2^31 and work with timebase denominators 2^31 > x >= 2^30. }} {{bq 極端に大きなtimebaseでの問題を修正。 timebase denominators >= 2^30(timebaseの分母が2の30乗以上)の場合に、x264は密かにオーバーフローし、奇妙な問題を引き起こしていた。 今回、timebase denominator >= 2^31の場合にx264は明示的に失敗し、2^31 > timebase denominators >= 2^30の場合には動作するようになった。 }} X264_BUILD 94。 色々議論はあったようだが、多くの部分はintではなくuint32_tを使うようにし、計算上必要な部分のみuint64_tで扱うようにしたようだ。 !x264r1548 {{bq git-id : aaf2194fcd9efacbb835af5fe3390ad48d19cc8c Author : Jason Garrett-Glaser Date: Fri Apr 16 12:06:07 2010 -0700 MMX code for predictor rounding/clipping Faster predictor checking at subme < 3. }} {{bq 予測値の丸め・クリッピングのMMX版のコード。 subme < 3でのより高速な予測値のチェック。 }} !x264r1547 {{bq git-id : bc9103c33fc9b9e502c82153fc0fe70ef1fa2ff5 Author : Jason Garrett-Glaser Date: Fri Apr 16 03:06:46 2010 -0700 Fix four minor bugs found by Clang }} {{bq Clangで発見された4つの小さなバグを修正。 }} clangはLLVMのフロントエンドで、ざっくり理解するならコンパイラの一種と思って構わない。GCCのリプレースになることが期待されており、BSD系で熱く、Appleの援助を受けている。まだ必ずしも安定しているとは言い切れないが、いろいろな面でGCCよりも先進的で、LLVMのメリットをより引き出す、今後が非常に楽しみな、新進気鋭のコンパイラフロントエンドだ。 !x264r1546 {{bq git-id : 46fd4ae1388f6a53544b0bd4f97ce9940451f54d Author : Jason Garrett-Glaser Date: Thu Apr 15 16:32:31 2010 -0700 Move deblocking/hpel into sliced threads Instead of doing both as a separate pass, do them during the main encode. This requires disabling deblocking between slices (disable_deblock_idc == 2). Overall performance gain is about 11% on --preset superfast with sliced threads. Doesn't reduce the amount of actual computation done: only better parallelizes it. }} {{bq sliced threadsにdeblocking/hpelを移動。 この両者を別のパスで行うのではなく、メインのエンコード中に行う。 これはスライス間のデブロックを無効にする必要がある(disable_deblock_idc == 2)。 全体でのパフォーマンス利得はsliced threads使用の--preset superfastで約11%。 実際に行われる計算量は減少せず、並列性を改善するのみ。 }} これは興味深い…sliced threadsを使う人は要注意かも。 上記文中のdisable_deblock_idcとあるのは正確にはdisable_deblocking_filter_idcで、規格書の"8.7 Deblocking filter process"あたりで以下のように説明されている。 {{bq However, for purposes of determining which edges are to be filtered when disable_deblocking_filter_idc is equal to 2, macroblocks in different slices are considered not available during specified steps of the operation of the deblocking filter process. }} つまり一部の処理で別のスライスにあるマクロブロックとの境界がデブロックフィルタの対象にならないという事のようなのだが、その後の条件の記載は入り組んでいてわかりづらい。 カテゴリが別なので正確ではないかもしれないが、SVCの規定である"Annex G"の方の"G.7.4.3.4 Slice header in scalable extension semantics"では以下のように解りやすく書かれている。 {{bq disable_deblocking_filter_idc equal to 2 specifies that all luma and chroma block edges of the slice are filtered with exception of the block edges that coincide with slice boundaries. }} この通りに理解するならば、まさにスライスを跨いだデブロックが行われないという事のようだ。 メリットは、デブロックがスライスごとに分割されることで並列度が上がり、より効率的に複数のCPUコア・複数スレッドが活用されるという点にある。 しかし、これでは[[x264(sliced-threads,slices,slice-max-mbs,slice-max-size)]]に書いている通り、ブロックノイズならぬ「スライスノイズ」を発生してしまうはずだ。 ただでさえ処理速度やRD性能の観点から不利なsliced-threadsだが、これが強制されてしまうとなると、多少速度が改善されるにしても、尚更使用する気になれなくなりそうだ。 !x264r1545 {{bq git-id : a7ec5e2352c516f8c14bdd79ea9d1522d3ddae16 Author : Jason Garrett-Glaser Date: Wed Apr 14 14:43:25 2010 -0700 Prefetch MB data in cache_load Dramatically reduces L1 cache misses. ~10% faster cache_load. }} {{bq cache_loadでMBデータをプリフェッチ。 L1キャッシュミスを劇的に削減する。 cache_loadを〜10%高速化。 }} !x264r1544 {{bq git-id : 017ade0a01066af3061a8c381e4e0a80df7e3933 Author : Jason Garrett-Glaser Date: Fri Apr 23 19:09:37 2010 +0000 Fix a ton of pessimization caused by aliasing in cache_save and cache_load }} {{bq cache_saveとcache_loadでエイリアシングによって引き起こされる大量のpessimizationを修正。 }} pessimizationはpessimism(悲観主義)の事だろう。これだけでは意味がよく分からない。 ソースを見ると、以下のようなコメントが有る。 {{bq /* GCC pessimizes direct loads from heap-allocated arrays due to aliasing. */ /* By only dereferencing them once, we avoid this issue. */ }} つまり、GCCはaliasingを危惧して保守的に考え、最適ではないコードを生成するという事のようだ。そして今回、GCCがaliasingを考えなくて良いように別の変数に受け直すことで、パフォーマンスを改善したのだと思われる。 !x264r1543 {{bq git-id : 674926f10f65c28f9a32045be2fd89ee7bc5d8ec Author : Jason Garrett-Glaser Date: Fri Apr 23 19:09:18 2010 +0000 Add CP128/M128 macros using SSE }} {{bq SSEを使用するCP128/M128マクロを追加。 }} 128bit整数に対するキャスト・代入のマクロ。以前さんざん問題になったstrict-aliasing-ruleを破るコードに対する対策マクロを128bit整数にも用意し、これを使用して今まで64bit*2で展開していたコードを置き換えている。 今現在での効果を期待するというよりは将来性を考えた上での修正なのだと思われる。 !x264r1542 {{bq git-id : 5b86182d1240b441f28462abf3d40b7371de5ba3 Author : Jason Garrett-Glaser Date: Sun Apr 11 13:36:50 2010 -0700 Fix various early terminations with slices Neighbouring type values (type_top, etc) are now loaded even if the MB isn't available for prediction. Significant overall performance increase (as high as 5-10%+) with lots of slices (e.g. with slice-max-size). }} {{bq 複数スライスでの早期終了の様々な修正。 近傍タイプ値(type_top等)は予測に対してMBが利用できない場合でも読み込まれるように。 多数のスライスで(例えばslice-max-sizeで)の有意な全体的パフォーマンスの増加(5-10%以上)。 }} !x264r1541 {{bq git-id : dabc4b1e60f00c90f0ab27e76f3657d95b19feb8 Author : Anton Mitrofanov Date: Tue Apr 13 21:25:42 2010 +0400 Enable --fast-pskip on fast firstpass }} {{bq fast firstpassで--fast-pskipを有効に。 }} !x264r1540 {{bq git-id : 2efd119bbe485c70f637efc8ba089eca61808711 Author : Steven Walters Date: Tue Apr 13 08:44:37 2010 -0400 Make interlaced detection in avisynth only apply to field-based input Fixes improper flagging of progressive sources. }} {{bq avisynthでのインターレースの検出をフィールドベースの入力にのみ適用。 プログレッシブのソースの不正なフラグを修正。 }} !x264r1539 {{bq git-id : 0f9244199fa24ea50b79f3e0873da4641a7cec46 Author : Anton Mitrofanov Date: Tue Apr 13 19:55:12 2010 +0400 Set psy=0 in lossless mode Doesn't actually affect output, just what's written in the SEI. }} {{bq ロスレスモードではpsy=0に設定。 SEIに書き込まれるもののみに影響し、実質的な出力には影響しない。 }} !x264r1538 {{bq git-id : bd72d46f71e102597645a5fac2858663f85373ce Author : Loren Merritt Date: Sun Apr 11 04:20:04 2010 +0000 Fix a use of sad_x4 that had non-mod64 stride Minimal speed improvement, but fixes a violation of internal api. }} {{bq 非mod64のストライドでのsad_x4の使用を修正。 スピードの改善は最小だが、内部APIの違反を修正する。 }} strideとは「ストライド走法」という言葉で知られるように、直訳すると「歩幅」だ。 画像関係では良く使用される用語で、要は画像の有効領域としての幅ではなく、メモリ上に配置した時の幅を指す。 ある行のある列から、次の行の同じ列を指すためのオフセット値としてよく使用される。 !x264r1537 {{bq git-id : 15f5e7ef2d0bd8196b0345dc8fb568c225b22b12 Author : Jason Garrett-Glaser Date: Sat Apr 10 13:15:30 2010 -0700 Make keyint_min auto by default Gives more reasonable default settings when using short GOPs. }} {{bq keyint_minをデフォルトで自動にした。 短いGOPを使用する場合により合理的なデフォルト設定になる。 }} X264_BUILD 93。 デフォルトで--min-keyintが--keyintの1/10に設定されるようになった。 !x264r1536 {{bq git-id : c7c8693f838f09760e76261a7b3a55bbae2b375b Author : Jason Garrett-Glaser Date: Sat Apr 10 00:49:19 2010 -0700 Faster mv predictor checking at subme < 3 Simplify the predicted MV cost check. }} {{bq subme < 3におけるmv予測チェックを高速化。 予測MVのコストチェックをシンプル化。 }} !x264r1535 {{bq git-id : f21ff8a3e7e1292c542e84842d2738adc72fcd59 Author : Jason Garrett-Glaser Date: Sat Apr 10 00:35:50 2010 -0700 Special case in qpel refine for subme=1 ~15-20% faster qpel refine with subme=1. Some minor cleanups in refine_supel. }} {{bq subme=1に対してqpel refineの特別なケース。 subme=1でのqpel refineを〜15-20%高速化。 refine_supelに幾つかの小規模な整理。 }} refine_supelはrefine_su''b''pelのタイポ。 !x264r1534 {{bq git-id : 7c9870ba0eab79852e3243ad28aa6163c37b6498 Author : Henrik Gramner Date: Sat Apr 10 02:21:01 2010 +0200 Cosmetics: VLC tables }} {{bq コスメティックス:VLCテーブル。 }} !x264r1533 {{bq git-id : 825e3a9c1d185328f426340d118cb7359d1aca4b Author : Jason Garrett-Glaser Date: Fri Apr 9 18:13:22 2010 -0700 Add faster mv0 special case for macroblock-tree Improves performance on low-motion video. }} {{bq macroblock-tree(訳注:mbtree)に対しより高速なmv0の特別なケースを追加。 動きの少ない映像においてのパフォーマンス(速度)改善。 }} !x264r1532 {{bq git-id : 4f8c44c17425470202759cafc49ae4496745598d Author : Jason Garrett-Glaser Date: Fri Apr 9 01:49:55 2010 -0700 Add miscompilation check for x264_clz Running a Phenom-optimized build of x264 (e.g. -march=amdfam10) on a non-Phenom CPU didn't SIGILL; instead it would silently produce incorrect output. Now, instead, it will error out loudly. }} {{bq x264_clzに対するコンパイルミスのチェックを追加。 x264のPhenomに最適化されたビルド(例えば-march=amdfam10)を非Phenom CPUで実行するとSIGILLとならなかった;その代わり、黙って不正な出力を生んでしまっていた。 今回、そうではなく、高らかにエラーを発するようになった。 }} insteadを多用されると訳のバリエーションに困る。 !x264r1531 {{bq git-id : 13908862fd79e85172ab2f4793fade268edb6d3d Author : Anton Mitrofanov Date: Wed Apr 7 12:17:20 2010 +0300 Fixing floating-point exception in level-checking Doesn't cause any issues for x264cli, but might impact some calling apps that care (e.g. Delphi apps). }} {{bq Levelのチェックでの浮動小数点の例外を修正。 x264cliには何の問題も起こさないが、幾つかの問題となる呼び出し側アプリ(例えばDelphiアプリ)には影響しうる。 }} !x264r1530 {{bq git-id : f1320f8e9c68f10da09c2e31758b5ce4c79db9e1 Author : Jason Garrett-Glaser Date: Thu Apr 8 18:44:16 2010 -0700 Save a few bits in multislice encoding Set the initial QP for each slice to the last QP of the previous slice. }} {{bq マルチスライスエンコードで数ビットを節約。 各スライスに対する初期QPを直前のスライスの最後のQPに設定。 }} !x264r1529 {{bq git-id : bc42c5af36ec0005a7effb12cab07bb49729cb98 Author : Alex Wright Date: Thu Apr 8 01:25:55 2010 +1000 Early termination in 16x8/8x16 search Combine the actual cost of the first partition with the predicted cost of the second to avoid searching the second when possible. Reduces the number of times the second partition is searched by up to ~75% in non-RD mode, ~10% in RD mode. Negligible effect on compression. }} {{bq 16x8/8x16検索での早期終了。 最初のパーティションの実際のコストを2つめの予測コストと組み合わせ、可能であれば2つめの検索を回避する。 2つめのパーティションが検索される回数を、非RDモードで最大〜75%、RDモードで〜10%削減する。 圧縮率には無視出来る範囲の影響。 }} !x264r1528 {{bq git-id : 040fddd0ff78380ee465b00203654846b969b8f5 Author : Jason Garrett-Glaser Date: Wed Apr 7 07:45:00 2010 -0700 Make MV prediction work across slice boundaries Should improve motion search with lots of small slices, e.g. with slice-max-size. Still restricted by sliced threads (won't cross the boundary between two threadslices). The output-changing part of the previous patch. }} {{bq MV予測をスライス境界を超えて働くように。 小さなスライスが多い場合、例えばslice-max-sizeでの動き検索を向上させるはず。 それでもsliced threadによっては制限される(2つのスレッドスライス間の境界を超えない)。 以前のパッチとは部分的に出力が変わる。 }} 此処で言うMV予測は規格に含まれるものではなく、x264がエンコードの精度向上を狙い、内部的に将来のMVを予測したりするために使用されるものらしい。よって、規格ではやはりスライス間を跨ることはできないとのこと。 !x264r1527 {{bq git-id : 469fae24c53a1e52246b89ca9d412b63f8831abd Author : Jason Garrett-Glaser Date: Wed Apr 7 07:43:46 2010 -0700 Cleanup and simplification of macroblock_load Doesn't do anything now, but will be useful for many future changes. Splitting out neighbour calculation will make MBAFF implementation easier. Calculation of neighbour_frame value (actual neighbouring MBs, ignoring slices) will be useful for some future patches. }} {{bq macroblock_loadの整理とシンプル化。 今現在では何も変わらないが、将来の多くの変更に有用。 neighbour calculation(近傍計算)の分割はMBAFFの実装を簡単にする。 neighbour_frame値(スライスを無視した実際の近傍MB)の計算は将来のいくつかのパッチに有用。 }} !x264r1526 {{bq git-id : fb449c746ed5b2a8b006fa5b8d5b658a95816280 Author : Jason Garrett-Glaser Date: Wed Apr 7 03:10:03 2010 -0700 Add missing #include to display-x11.c }} {{bq display-x11.cに対して欠けていた#includeを追加。 }} ビルドにのみ影響。 !x264r1525 {{bq git-id : 819d121f6cf92b7b5f33e85181b0dcdb0ffbb84a Author : Steven Walters Date: Tue Apr 6 22:08:21 2010 -0400 Add TFF/BFF detection to all demuxers Fix interlaced Avisynth input, automatically weave field-based input. }} {{bq 全てのdemuxerにTFF/BFF検出を追加。 インターレースAvisynth入力を修正、fieldベースの入力を自動的にweave。 }} Avisynthのtff/bffフラグは、技術的に言って相互に排他的ではなく、両立してしまうらしい。 Avisynthそのものはどちらかしか使わないようになっているが、ソースフィルタがそうしているとは保証されない、という内容がソースコードにコメント書きしてある。 !x264r1524 {{bq git-id : 058d67e3eb800d9814403876a0181874e2f900dc Author : Jason Garrett-Glaser Date: Tue Apr 6 13:53:22 2010 -0700 Correctly mark output frames as BREF Simplify pic_out code. }} {{bq 出力フレームをBREFとして正しくマーク。 pic_outのコードをシンプル化。 }} !x264r1523 {{bq git-id : 25ca5b0cdd583a28e130525836e25e5e40095cf1 Author : Kieran Kunhya Date: Sat Apr 3 14:59:59 2010 -0700 Fix HRD compliance As usual, the spec is so insanely obfuscated that it's impossible to get things right the first time. }} {{bq HRD規格適合性の修正。 いつものことだが、仕様というものは狂気的に不明瞭なものであって、一見して正しく理解することは不可能である。 }} obfuscatedは「不明瞭な・ぼかした・曖昧な」という意味なのだが、比較的堅い用語らしく、insanelyがcrazilyに近い意味なので、訳としての文体がくだけてよいのか堅くすべきなのかに困る…。 !x264r1522 {{bq git-id : f8671ce1f3b3addb49aca275215d6ffd313f08c2 Author : Alex Wright Date: Sat Apr 3 14:50:26 2010 -0700 Better b16x8/8x16 early termination in B-frames A bit slower but up to 1-2% better compression. }} {{bq Bフレーム中のb16x8/8x16の早期終了を改善。 若干遅くなるが最大1-2%の圧縮率改善。 }} !x264r1521 {{bq git-id : a1e4e583fc9740666c442c1ae2ee06e335f937d0 Author : Jason Garrett-Glaser Date: Fri Apr 2 12:23:52 2010 -0700 Fix 10L in B-skip improvement patch }} {{bq B-skip改善パッチにおける10Lを修正。 }} B-skip改善パッチとはr1491のこと。 !x264r1520 {{bq git-id : 9d08bf433190ac11e2707ac456382f3996773909 Author : Jason Garrett-Glaser Date: Fri Apr 2 03:09:48 2010 -0700 Fix printing of SEI header with VBV + ABR SEI header shouldn't say CBR unless bitrate == maxrate. }} {{bq VBV + ABRでのSEIヘッダへの表示を修正。 SEIヘッダはbitrate == maxrateでない場合にはCBRだと言うべきではない。 }} !x264r1519 {{bq git-id : 385716eeb39ed9279c7f003837bb3228a77b2edf Author : Jason Garrett-Glaser Date: Thu Apr 1 22:33:42 2010 -0700 Simplify slicetype_frame_cost Avoid redundant calculations when VBV is on (due to the intra-only call). Move most of the logic into per-MB code. }} {{bq slicetype_frame_costをシンプル化。 (intra-only呼び出しに起因する)VBVがonの場合の冗長な計算を回避。 ロジックの殆どをMB毎のコードに移動。 }} !x264r1518 {{bq git-id : 769adffece015d5082492fb87a4bc3cdd5cbd249 Author : Jason Garrett-Glaser Date: Thu Apr 1 15:51:59 2010 -0700 Faster CABAC state copying for small partitions Save ~25 clocks per i4x4, i8x8, and sub8x8 RD call. }} {{bq 小さなパーティションに対するCABACの状態コピーを高速化。 i4x4, i8x8, sub8x8のRD呼び出しごとに〜25クロックを節約。 }} !x264r1517 {{bq git-id : 4abe704f9c23e342ed485d2f92f5d7ce7e32b4ff Author : Jason Garrett-Glaser Date: Wed Mar 31 01:44:07 2010 -0700 Massive cosmetic and syntax cleanup Convert all applicable loops to use C99 loop index syntax. Clean up most inconsistent syntax in ratecontrol.c, visualize, ppc, etc. Replace log(x)/log(2) constructs with log2, and similar with log10. Fix all -Wshadow violations. Fix visualize support. }} {{bq 大規模なコスメティックス&構文の整理。 適用可能なループに関してはC99のループインデックス構文を使用するように変換。 ratecontrol.c, visualize, ppc, その他における一貫性のない構文の殆どを整理。 log(x)/log(2)の構造をlog2で置き換え、log10も同様。 全ての-Wshadow違反を修正。 visualizeのサポートを修正。 }} コスメティックスとは言え、ものすごい変更量なのでバグが無いか注意したい。 C99のループインデックス構文とはfor( int i = 0 ; ...)というループ内局所変数を使う構文。 変数のスコープが限られるため、コンパイラが最適化をしやすくなる。 -Wshadowは、シンボルのスコープの関係で、関数のローカル変数名などがグローバル変数名などを隠す場合に警告するオプション。 今回、ローカル変数のconstを外しているものが結構ある。 当サイトの簡易掲示板で頂いた情報では、constにそれほど最適化の意味がない(十分に賢いコンパイラなら判断出来るし、そもそもそれほど実益がない)ことと、コーディング上の手間暇とのバランスから、「基本的に付けない」方向にした、ということのようだ。 !x264r1516 {{bq git-id : 2f432c81bb0192d7ebed1fd2f7afd8a431582553 Author : Jason Garrett-Glaser Date: Tue Mar 30 23:30:09 2010 -0700 Fix array overread in b8x16 search }} {{bq b8x16検索での配列の過読込を修正。 }} !x264r1515 {{bq git-id : 385f6e2642f9351a8da855f5fb75f611f59f28b1 Author : Jason Garrett-Glaser Date: Mon Mar 29 19:03:13 2010 -0700 Faster direct check with subpartitions off Also simplify the whole function a bit. }} {{bq サブパーティションがOFFの場合のdirectのチェックを高速化。 また、関数全体を少しシンプル化。 }} !x264r1514 {{bq git-id : d8d8e7ea3043adc292ce97851eaec057d002dc59 Author : Jason Garrett-Glaser Date: Mon Mar 29 02:14:25 2010 -0700 Print crf-max with appropriate precision in SEI }} {{bq SEIにcrf-maxを適切な精度で表示。 }} !x264r1513 {{bq git-id : ffd1cd15984b60ab4e74c32ac71ffe4b576a30da Author : Yusuke Nakamura Date: Mon Mar 29 00:05:30 2010 -0700 Fix 10l in timecode seeking }} {{bq タイムコードのシークの10Lを修正。 }} !x264r1512 {{bq git-id : ae834029cad9401b30cd529cf8c84db41aac776d Author : Yusuke Nakamura Date: Mon Mar 29 13:51:02 2010 +0900 Fix 10L: Remove needless error check This error check was for cfr input + --timebase, but that doesn't happen, and brings about a bug with vfr input. }} {{bq 10L修正:不要なエラーチェックを除去。 このエラーチェックはCFR入力 + --timebaseに対するものだが、発生することがなく、VFR入力でのバグをもたらす。 }} !x264r1511 {{bq git-id : f9ff0031cbccf582faf3e9224f678926d70750b2 Author : Jason Garrett-Glaser Date: Sun Mar 28 20:40:42 2010 -0700 Don't use 2 L1 refs with pyramid + ref=1 Slightly faster encoding with ref=1. }} {{bq pyramid + ref=1で2つのL1参照を使わない。 ref=1でのエンコードが僅かに早く。 }} !x264r1510 {{bq git-id : 33d382a2fa75b8f7929302b40826e2892355cef4 Author : Henrik Gramner Date: Fri Mar 26 17:57:23 2010 -0700 Update copyright year in SEI header }} {{bq SEIヘッダのコピーライトの年表記を更新。 }} !x264r1509 {{bq git-id : 5b1fdfabb8e473aaa8ddc6389f3882ed9e4073ac Author : Jason Garrett-Glaser Date: Fri Mar 26 15:33:20 2010 -0700 New "superfast" preset, much faster intra analysis Especially at the fastest settings, intra analysis was taking up the majority of MB analysis time. This patch takes a ton more shortcuts at the fastest encoding settings, decreasing compression 0.5-5% but improving speed greatly. Also rearrange the fastest presets a bit: now we have ultrafast, superfast, veryfast, faster. superfast is the old veryfast (but much faster due to this patch). veryfast is between the old veryfast and faster. faster is the same as before except with MB-tree on. Encoding with subme >= 5 should be unaffected by this patch. }} {{bq 新しい"superfast"プリセット、intra解析をかなり高速化。 特にfastest設定において、intra解析はMB解析時間の主な部分を占めていた。 このパッチは非常に多くのショートカットをfastestエンコード設定に持ち込み、 圧縮率を0.5-5%悪化低下させるが、劇的に速度を向上する。 また、fastestプリセットを少々再構成:ultrafast, superfast, veryfast, fasterになった。 superfastは以前のveryfast(ただしこのパッチでかなり高速化している)。 veryfastは以前のveryfastとfasterの間。 fasterはMB-treeがONであることを除き以前と同じ。 subme >= 5でのエンコードはこのパッチに影響されないはず。 }} X264_BUILD 92。 fasterにはno-mbtreeが無くなった他、rc-lookahead=20も入っている。 英語にそういう総称的用法があるのか知らないが、ここでの「fastest設定」とは「fast系設定全般」を指すようだ。 !x264r1508 {{bq git-id : a76ac874ae45698c7e3354200e48ac181baed499 Author : Jason Garrett-Glaser Date: Thu Mar 25 14:46:24 2010 -0700 Avoid redundant MV prediction in duplicate refs }} {{bq 複製参照での無駄なMV予測を回避。 }} weightp関連の高速化。 !x264r1507 {{bq git-id : a1edfa63597da268c850ddf769ae2fde63e132f8 Author : Henrik Gramner Date: Wed Mar 24 23:27:30 2010 +0100 Cosmetics in mvd handling Use a 2D array instead of doing manual pointer arithmetic. }} {{bq mvd処理のコスメティックス。 手動でポインタ演算するのではなく2次元配列を使用。 }} !x264r1506 {{bq git-id : 9904be8b50942d7038dcdd5ee20ea93154823b55 Author : Jason Garrett-Glaser Date: Wed Mar 24 07:25:01 2010 -0700 Fix make uninstall on systems with executable suffixes }} {{bq 実行可能形式にサフィックスのあるシステムでのmake uninstallを修正。 }} Windowsで言えば実行ファイル名には".exe"が付くことを指している。 !x264r1505 {{bq git-id : 5543435e17c5b9bdbaeb979b76fdd5a2de727e93 Author : Jason Garrett-Glaser Date: Tue Mar 23 14:00:58 2010 -0700 Add tune for still image compression There has been some demand for this from companies looking to use x264 for still image compression (it can outperform JPEG or JPEG-2000 by a factor of 2 or more). Still image compression is a bit different; because temporal stability isn't an issue, we can get away with far more powerful psy settings. }} {{bq 静止画圧縮のためのtuneを追加。 以前からx264を静止画圧縮に使用しようとする企業よりこれの要請があった(これはJPEGやJPEG-2000を2倍以上も凌ぐ)。 静止画圧縮は若干(訳注:動画とは)異なる;時間軸の安定性は問題ではないため、遥かに強力なpsy設定がまかり通る。 }} X264_BUILD 91。 --tune stillimageが追加、内容は--aq-strength 1.2 --deblock -3:-3 --psy-rd 2.0:0.7。 H.264のIフレームはJPEGよりもよい、というのは時々聞く話だが、JPEG2000よりも…というのは初見かも。 !x264r1504 {{bq git-id : 93b1d5a5d3f90e85f071160449b4e517a48f65b9 Author : Henrik Gramner Date: Mon Mar 22 02:59:50 2010 +0100 Pad non-mod16 resolutions using the correct field Improves compression of interlaced videos with non-mod16 heights. }} {{bq 正しいフィールドを使用し非mod16解像度のパディング。 高さが非mod16のインターレース映像の圧縮率を改善。 }} 念のため、「非mod16」=「16で割り切れない」の意味。 そういえばこんなFIXMEがあったのを忘れていた。 !x264r1503 {{bq git-id : a882f7a6ada6018006c264ab5f16bc0ed55dcf10 Author : Jason Garrett-Glaser Date: Sun Mar 21 09:10:00 2010 -0700 Document slow/fast firstpass in --fullhelp }} {{bq --fullhelpにslow/fast firstpassのドキュメントを追加。 }} ヘルプの表示内容にのみ影響。 !x264r1502 {{bq git-id : ce6bd494529a393acfc9ab26e798f94040cce1e0 Author : Holger Lubitz Date: Sat Mar 20 20:41:21 2010 +0100 Fix some misattributions in profiling Cycles spent in load_hadamard and the avg2 w16 ssse3 cacheline split code were misattributed. }} {{bq プロファイリングでの属性の設定ミスをいくつか修正。 load_hadamardとavg2 w16 ssse3 cacheline splitコードに費やされたサイクルは属性を誤っていた。 }} プロファイリングでの、ということなので一般ユーザには関係ないだろう。 !x264r1501 {{bq git-id : 2678a7a3ed881eca724cf99fae3369f329b21eab Author : Jason Garrett-Glaser Date: Sat Mar 20 17:07:12 2010 -0700 Much faster non-RD intra analysis Since every pred mode costs at least 1 bit, move that part into the initial SATD cost. This lets i4x4/i8x8 analysis terminate earlier. If the cost of the predicted mode is less than the cost of signalling any other mode, early-terminate the analysis. }} {{bq 非RDでのintra解析をかなり高速化。 各予測モードは最低1bitかかるため、その部分を初期SATDコストに移動。 これはi4x4/i8x8解析をより早期に終了させる。 予測されたモードのコストがその他のモードの符号コストよりも小さければ、解析を早期終了する。 }} 今までearly terminationを「早期終了」と書いてきたけど、 「(処理の)打ち切り」と訳したほうがわかりやすかっただろうかと最近後悔している。 !x264r1500 {{bq git-id : 6314e08698b55e7d04d7a51521046ff3d1d7e791 Author : Jason Garrett-Glaser Date: Wed Mar 17 15:53:43 2010 -0700 Fix stack alignment in sliced threads Could cause crashes when called from non-GCC-compiled applications. }} {{bq sliced threadのスタックアラインメントを修正。 GCC以外でコンパイルされたアプリケーションから呼ばれた際にクラッシュを引き起こしていたかも知れない。 }} 前:[[x264-changelog-jp r1400-r1499]] - 次:[[x264-changelog-jp r1600-r1699]]