トップ 検索 一覧 差分 ソース ヘルプ RSS ログイン

x264-changelog-jp r1500-r1599

このページの全ては誤っているかもしれません。x264関連の記事に関してを読んでください。

x264-changelog-jp r1500-r1599

r1500-r1599のchangelogの日本語訳。その他のリビジョンと注意事項についてはx264-changelog-jpへどうぞ。

前:x264-changelog-jp r1400-r1499 - 次:x264-changelog-jp r1600-r1699

x264r1599

git-id : dd4972a2cb50b567542391e288d17ebba7536911

Author : Anton Mitrofanov

Date: Tue May 18 22:26:59 2010 +0400

Mark Win32 executable as large address aware

Win32の実行形式をlarge address awareとマーク。

通常、Win32においては、1つのプロセスは2GBまでしかUSER空間のメモリを使用できない。これが、実行ファイルのヘッダにある"large address aware"というフラグを立てることによって、3GBまで使用可能になる。この機能が有効に働くためには、64bit版のWindows上か、boot.iniで/3GBのオプションを指定した32bit版のWindows上で実行する必要がある。

x264r1598

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.

"Fake interlaced"オプションを追加。

これは全てのフレームをプログレッシブでエンコードするが、ストリームにはインターレースであるとしてフラグを立てる。

これは有効な25pと30pのBlu-Rayストリームをエンコードすることを可能にする。

また、ヘルプのpulldownのセクションをより適切な場所に置いた。

X264_BUILD 96。

--fake-interlacedオプションが追加。

TODO: H.264のインターレース方式に関しての記事を書く。内容はフラグの意味と大まかな構成のみ。深淵は底が見えないのであまり深くは触れない。

x264r1597

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.

version.shをstdoutに出力するよう修正。

相応するようにconfigureを修正。

x264r1596

git-id : 629a56a54bccde2e43fe831796bec885a164acf3

Author : Henrik Gramner

Date: Wed May 19 23:09:58 2010 +0200

Set correct filesystem permissions for various files

様々なファイルに対し、ファイルシステム上の正しいパーミッションを設定。

これは珍しい。ファイルの内容の修正は一切なく、パーミッションのみの修正。

Windowsユーザに説明しておくと、Linuxその他のUnixライクな環境でも、いわゆる「読み取り専用」のようなファイルの属性が存在し、パーミッションと呼ばれる(実際には権限の設定も含むためもっと広い概念のもの)。gitはパーミッションを記録することができるらしく、それのみが変更されている。

x264r1595

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.

r1566のレグレッションを修正。

intra統計はfast intra decisionのために追跡され続けなければならない。

x264r1594

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

VBVを使用する2-passで、rc-rookaheadのSEI中へのオプションの埋め込みを修正。

x264r1593

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

b-adapt 2を使用する2-passでメモリ使用量を削減。

x264r1592

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.

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

git-id : 03ff36e3b48729516a1f94bc0475bff13525d1a2

Author : Kieran Kunhya

Date: Thu May 13 19:13:35 2010 +0100

Fix typo in pulldown

pulldownのタイポを修正。

x264r1590

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.

進捗状況のビットレートの計算を修正。

順序の変わるPTSを使用していたことにより、僅かに正しくなかった。

x264r1589

git-id : 444794d8c805b1951d985a1b5d1d1a2e5b8342a3

Author : Anton Mitrofanov

Date: Wed May 12 01:57:38 2010 +0400

Fix crash with sliced-threads on Phenom

Phenom上のsliced-threadsでのクラッシュを修正。

x264r1588

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.

SEIのオプションでrc=cbrを表示する条件を変更。

また、crf-maxのフォーマットを修正。

x264r1587

git-id : 4b4f8eb89bfc033a1bc52684636c7f4f8c314345

Author : Henrik Gramner

Date: Mon May 10 23:27:36 2010 +0200

Shrink even more constant arrays

また更に定数配列を縮小。

最近のx264ではコード・データ共にサイズを縮小する修正が流行しているようだ。メモリ使用量以外に、このような修正がもたらす効果が何であるかは、一般的には断定しづらい。しかし、x264の場合、この手の修正はCPUのキャッシュの効率的な利用を狙う修正であることが多い。

このような変更では、時に実行にかかるクロック数が増加することもある。すると、キャッシュの効率化による高速化との間で、その効果が相殺されてしまう。しかしx264の開発者は、少なくとも遅くはならないように努力しているので、多くの場合は高速化していると思って良い。

x264r1586

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.

intra refreshを発生させるAPI関数を追加。

クライアント側でパケットのロスが発生したことを知るエンコーダのような、インタラクティブなアプリケーションで有用。

完全なドキュメントはx264.hにある。

X264_BUILD 95。

x264r1585

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.

intra refreshでのIフレームの動作を修正。

Intra refreshでもIフレームは許される(シーンカット等)。

Iフレームは、即座にrefreshを起こすものとは対照的に、完全なリフレッシュとして計上するように。

恐らくintra-refreshの具体的な動作を知らないとこのコミットコメントはわかりづらいと思われる。x264はintra-refreshがどこで発生し、現在のフレームでどのくらい進行しているか、といった情報を管理している。そういった状態管理の中で、Iフレームの存在が勘案されるようになったということだ。

結果として、Iフレームの直後にintra-refreshが発生してしまうバグが修正され、intra-refreshが効果的(ユーザが想定する)タイミングで適正に発生するようになった。

x264r1584

git-id : 09b5a943c62212447a0151dfd5324f8e36715272

Author : Anton Mitrofanov

Date: Thu May 6 10:03:31 2010 -0700

More cosmetics

更なるコスメティックス。

x264r1583

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.

r1573での未解決のシンボルを修正。

gnu ldは何も言わないが、他の幾つかのリンカは文句をつける。

ビルドにのみ影響。

x264r1582

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.

不要な--enableオプションを削除。

--enable-visualizeがX11のサポートを実際にチェックするように変更。

ビルドにのみ影響。

--enable-xxxというオプションがあると、やたら機能を付けたがる輩が「これはどうやって使うの?」と質問攻めにしてくることへの対応なのではないだろうか。ユーザが不使用と指定せず、かつ利用可能なのであれば自動的に使えばいいと判断された模様。

x264r1581

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.

VBVでrow QPを強制的に整数にはしない。

VBVが映像のビットレートを持ち上げなくなるはず。つまり、与えられた画質レベルまたはビットレートにおいて、VBVをonにすることはビットレートを低下のみさせるはず。

これはadaptive quant(AQ)がoffの場合には完全に真ではないが、いずれにしても、誰もそのようなことをすべきではない。

row毎のVBVレートコントロールが僅かに精密になるだろう。

本来、VBVをonにすることの目的は、再生環境・機器に合わせてビットレートとバッファ(CPB)の使用量を適宜抑制することにある。つまりVBVをonにすることでビットレートが上がってしまうのは根本的に望ましい動作ではなく、それが修正されたということ。

x264r1580

git-id : 8508412c878b4823906cd5c67b46698ce9bc297d

Author : James Darnley

Date: Sun May 2 16:30:50 2010 -0700

Add field-order detection to y4m demuxer

y4mのdemuxerにフィールドオーダの検出を追加。

x264r1579

git-id : 44f83cc129480d67c76b1b0e11c97870957ff2c2

Author : Jason Garrett-Glaser

Date: Sun May 2 11:45:15 2010 -0700

Fix sliced-threads + interlaced

Broken in r1546.

sliced-threads + interlacedを修正。

r1546で壊していた。

x264r1578

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.

temporal(時間軸)のMV予測を改善。

最終MVではなくp16x16検索の結果に基づき予測。

これはモード決定がintraを選択した場合でも予測を得ることを可能にする。

キャッシュコヒーレンシを改善。

TODO:キャッシュコヒーレンシについて記述。簡単に言えばキャッシュの整合性問題の改善。

x264r1577

git-id : c82273d6d74271e0f743c5729e7438ff37e2df5e

Author : Jason Garrett-Glaser

Date: Sat May 1 19:34:14 2010 -0700

More accurate MV prediction on edges in lookahead

lookaheadにおいて、端の部分に対するより精密なMV予測。

x264r1576

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.

入力の不正なストライドに対してエラー出力。

バグのある呼び出し側アプリケーションに起因するクラッシュを捕捉するだろう。

ストライドの説明はr1538を参照。

具体的にはVLCか何かで問題になったっぽい。

x264r1575

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.

不要なデバッグ用assertを除去。

r1568の時点から存在するべきではなかった。

x264r1574

git-id : 181fc45d360ff8d586259f461fe5a21c4c37aefb

revision : r1574

Author : Jason Garrett-Glaser

Date: Fri Apr 30 13:45:50 2010 -0700

Shrink some more constant arrays

さらにいくつかのconst配列を縮小。

x264r1573

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).

asmの定数の重複を排除、名前のプレフィックスを自動化。

グローバル定数にはcexternで自動的に"x264_"のプレフィックスを行う。

"x264_"のプレフィックス表記をasmファイルから排除;cglobalで自動化。

asm定数の単一化は可能な限りデータキャッシュを節約する(これらは新規のconst-a.asmに移動)。

x264_emms()を非x86から完全に除去(空関数を呼びさえもしない)。

プレフィックスを付けないcexternとしてcextern_nakedを追加(checkasmで使用)。

アセンブラの大きなコスメティックス。このdiffはマクロの使い方の例としてわかりやすいかもしれない。

common/x86/const-a.asmが追加。

x264r1572

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.

いくつかのx86のasm関数を小さく。

4バイトアドレッシングモードの使用を削減するためにさらにいくつかの命令を追加。

x264r1571

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.

SEIのオプション表示でwpred*の代わりにweight*を使うようにした。

より直感的で、合理的にCLIのオプションに対応する。

これはstatsファイルの後方互換性を壊す。

x264r1570

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.

r1548はsubme < 3 + p8x8/b8x8を壊していた。

有意な圧縮率の悪化を引き起こしていた。プリセット視点では、veryfastのみに影響していた。

mvcをin-place(その場で)変更しないことで修正。

"<pengvado> doesn't break the encode, but it's like +20% bitrate due to killing most of the predictors"との事なので結構インパクトありそう。

x264r1569

git-id : bff0df76deeed96e76e3c965223065d30258e7d5

Author : Henrik Gramner

Date: Tue Apr 27 01:44:33 2010 +0200

More write-combining

更なるライト・コンバイニング。

以前にも説明したかも知れないが、ライトコンバインとは例えば本来2byte*8回である書き込みを16byte*1回で済ますような高速化技法。C言語で扱う上ではtype-punを含むことになるのでstrict aliasing ruleの違反に注意すべき。

x264では先日追加されたM128を使用。これがどの程度最適化されるか(実際にライトコンバインになるか結局分割されてしまうか)は、コンパイラと実行されるCPUに依存すると思われる。

x264r1568

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.

lookaheadのメモリ使用量とキャッシュミスを削減。

lowres_typesをlowres_costsに統合。

lowres_costsの空きビットにlowres_typeを格納するようにしたということ。hackyな手法で、計算量が僅かに増加するが、CPUのキャッシュの効率を考えると高速なのだろう。

x264r1567

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

asmは使うがSSEがOFFの場合のx86ビルドを修正。

x264r1566

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

不要な場合にはref/partition統計を計算しない。

x264r1565

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.

MV予測をmvpred.cに分割。

common/macroblock.cを少し巨大でなくした。

common/mvpred.cが追加。

x264r1564

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)

非x86でのMV予測値のクリッピングを修正(r1548でのレグレッション)。

x264r1563

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.

getopt.cをlibx264からx264cliのソースに移動。

getopt.cのないシステムでのビルドにのみ影響。

x264r1562

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.

デブロッキングコードを別途分割のファイルに移動。

frame.cが少し整理されたはず。

common/deblock.cが追加。

x264r1561

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

2^31を超える入力timebase値をサポートするようffmsのdemuxerを修正。

x264r1560

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.

cache_loadの変更での10Lを修正。

constrained intra予測を壊していたが、恐らくその他は大丈夫。

10Lはもうx264のchangelogを読む人間にとっては常識になっているが、その由来は結構古いらしく、かなり以前のMLで話題になったりしていたようだ。

x264r1559

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.

fullpel予測のチェックを高速化。

dia/hexの動き見積りのループから命令数を少し削減。

x264r1558

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)

checkasmのデブロック入力の生成を修正(r1517でのレグレッション)。

checkasmの修正なので一般ユーザには関係ない。

x264r1557

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.

タイムスタンプが利用できない場合のビットレートの表示を修正。

x264cliには影響しないが、他の幾つかのアプリケーションでのCFRモードでは壊れていた。

x264r1556

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.

mv0を2回チェックしないように。

動き見積もりでSADが1回減少。

bmvをpmvにリネーム(訳注:内部の変数名);より適切な名前に。

x264r1555

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.

weightpから再配置制限を除去。

仕様上、参照リスト中で同じフレームの連続する2つのコピーは許されるらしい。

これはフレーム番号をラップアラウンドするという信じられないような見苦しいハックを生む。

とても僅かな圧縮率の改善。

unsigned値である参照フレーム番号を0からさらにデクリメントし、ラップアラウンドによって最大値に割り当てるようなハック。仕様上これが許されるというのは確かに信じがたい。

x264r1554

git-id : d6d63a0d1fb1ac1526da4bcdcc0a24e42e03a39c

Author : Jason Garrett-Glaser

Date: Mon Apr 19 23:34:03 2010 -0700

Print intra chroma pred modes in stats

intra chroma予測モードを統計情報に出力。

x264r1553

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.

pskipのchroma MCでmv0の特例を追加。

pskip MCを有意に高速化。

時々、用語が専門的に過ぎて、わかりにくいんじゃないかと思うのだが。「Pフレームのスキップマクロブロック処理において色情報に対する動き補償が高速化された」ということ。

x264r1552

git-id : 156bf75dfb99913bdc8db73a858130e63c6bf5c4

Author : Francois Cartegnie

Date: Sun Apr 18 13:04:59 2010 -0700

Fix build scripts to work with non-GNU tools

非GNUツールでも動作するようにビルドスクリプトを修正。

ビルドにのみ影響。

具体的に対象となるのはSolaris等。

x264r1551

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

デブロックの参照フレームチェックを高速化。

ロジックをシンプル化するために表引きを使用。

x264r1550

git-id : 5dab1efd428735f10a9670637dddffe763286dc4

Author : Henrik Gramner

Date: Fri Apr 16 22:39:45 2010 +0200

Faster chroma CBP handling

chromaのCBP処理を高速化。

x264r1549

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.

極端に大きな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

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.

予測値の丸め・クリッピングのMMX版のコード。

subme < 3でのより高速な予測値のチェック。

x264r1547

git-id : bc9103c33fc9b9e502c82153fc0fe70ef1fa2ff5

Author : Jason Garrett-Glaser

Date: Fri Apr 16 03:06:46 2010 -0700

Fix four minor bugs found by Clang

Clangで発見された4つの小さなバグを修正。

clangはLLVMのフロントエンドで、ざっくり理解するならコンパイラの一種と思って構わない。GCCのリプレースになることが期待されており、BSD系で熱く、Appleの援助を受けている。まだ必ずしも安定しているとは言い切れないが、いろいろな面でGCCよりも先進的で、LLVMのメリットをより引き出す、今後が非常に楽しみな、新進気鋭のコンパイラフロントエンドだ。

x264r1546

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.

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"あたりで以下のように説明されている。

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"では以下のように解りやすく書かれている。

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

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.

cache_loadでMBデータをプリフェッチ。

L1キャッシュミスを劇的に削減する。

cache_loadを〜10%高速化。

x264r1544

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

cache_saveとcache_loadでエイリアシングによって引き起こされる大量のpessimizationを修正。

pessimizationはpessimism(悲観主義)の事だろう。これだけでは意味がよく分からない。

ソースを見ると、以下のようなコメントが有る。

/* 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

git-id : 674926f10f65c28f9a32045be2fd89ee7bc5d8ec

Author : Jason Garrett-Glaser

Date: Fri Apr 23 19:09:18 2010 +0000

Add CP128/M128 macros using SSE

SSEを使用するCP128/M128マクロを追加。

128bit整数に対するキャスト・代入のマクロ。以前さんざん問題になったstrict-aliasing-ruleを破るコードに対する対策マクロを128bit整数にも用意し、これを使用して今まで64bit*2で展開していたコードを置き換えている。

今現在での効果を期待するというよりは将来性を考えた上での修正なのだと思われる。

x264r1542

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).

複数スライスでの早期終了の様々な修正。

近傍タイプ値(type_top等)は予測に対してMBが利用できない場合でも読み込まれるように。

多数のスライスで(例えばslice-max-sizeで)の有意な全体的パフォーマンスの増加(5-10%以上)。

x264r1541

git-id : dabc4b1e60f00c90f0ab27e76f3657d95b19feb8

Author : Anton Mitrofanov

Date: Tue Apr 13 21:25:42 2010 +0400

Enable --fast-pskip on fast firstpass

fast firstpassで--fast-pskipを有効に。

x264r1540

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.

avisynthでのインターレースの検出をフィールドベースの入力にのみ適用。

プログレッシブのソースの不正なフラグを修正。

x264r1539

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.

ロスレスモードではpsy=0に設定。

SEIに書き込まれるもののみに影響し、実質的な出力には影響しない。

x264r1538

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.

非mod64のストライドでのsad_x4の使用を修正。

スピードの改善は最小だが、内部APIの違反を修正する。

strideとは「ストライド走法」という言葉で知られるように、直訳すると「歩幅」だ。画像関係では良く使用される用語で、要は画像の有効領域としての幅ではなく、メモリ上に配置した時の幅を指す。ある行のある列から、次の行の同じ列を指すためのオフセット値としてよく使用される。

x264r1537

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.

keyint_minをデフォルトで自動にした。

短いGOPを使用する場合により合理的なデフォルト設定になる。

X264_BUILD 93。

デフォルトで--min-keyintが--keyintの1/10に設定されるようになった。

x264r1536

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.

subme < 3におけるmv予測チェックを高速化。

予測MVのコストチェックをシンプル化。

x264r1535

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.

subme=1に対してqpel refineの特別なケース。

subme=1でのqpel refineを〜15-20%高速化。

refine_supelに幾つかの小規模な整理。

refine_supelはrefine_subpelのタイポ。

x264r1534

git-id : 7c9870ba0eab79852e3243ad28aa6163c37b6498

Author : Henrik Gramner

Date: Sat Apr 10 02:21:01 2010 +0200

Cosmetics: VLC tables

コスメティックス:VLCテーブル。

x264r1533

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.

macroblock-tree(訳注:mbtree)に対しより高速なmv0の特別なケースを追加。

動きの少ない映像においてのパフォーマンス(速度)改善。

x264r1532

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.

x264_clzに対するコンパイルミスのチェックを追加。

x264のPhenomに最適化されたビルド(例えば-march=amdfam10)を非Phenom CPUで実行するとSIGILLとならなかった;その代わり、黙って不正な出力を生んでしまっていた。

今回、そうではなく、高らかにエラーを発するようになった。

insteadを多用されると訳のバリエーションに困る。

x264r1531

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).

Levelのチェックでの浮動小数点の例外を修正。

x264cliには何の問題も起こさないが、幾つかの問題となる呼び出し側アプリ(例えばDelphiアプリ)には影響しうる。

x264r1530

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.

マルチスライスエンコードで数ビットを節約。

各スライスに対する初期QPを直前のスライスの最後のQPに設定。

x264r1529

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.

16x8/8x16検索での早期終了。

最初のパーティションの実際のコストを2つめの予測コストと組み合わせ、可能であれば2つめの検索を回避する。

2つめのパーティションが検索される回数を、非RDモードで最大〜75%、RDモードで〜10%削減する。

圧縮率には無視出来る範囲の影響。

x264r1528

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.

MV予測をスライス境界を超えて働くように。

小さなスライスが多い場合、例えばslice-max-sizeでの動き検索を向上させるはず。

それでもsliced threadによっては制限される(2つのスレッドスライス間の境界を超えない)。

以前のパッチとは部分的に出力が変わる。

此処で言うMV予測は規格に含まれるものではなく、x264がエンコードの精度向上を狙い、内部的に将来のMVを予測したりするために使用されるものらしい。よって、規格ではやはりスライス間を跨ることはできないとのこと。

x264r1527

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.

macroblock_loadの整理とシンプル化。

今現在では何も変わらないが、将来の多くの変更に有用。

neighbour calculation(近傍計算)の分割はMBAFFの実装を簡単にする。

neighbour_frame値(スライスを無視した実際の近傍MB)の計算は将来のいくつかのパッチに有用。

x264r1526

git-id : fb449c746ed5b2a8b006fa5b8d5b658a95816280

Author : Jason Garrett-Glaser

Date: Wed Apr 7 03:10:03 2010 -0700

Add missing #include to display-x11.c

display-x11.cに対して欠けていた#includeを追加。

ビルドにのみ影響。

x264r1525

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.

全てのdemuxerにTFF/BFF検出を追加。

インターレースAvisynth入力を修正、fieldベースの入力を自動的にweave。

Avisynthのtff/bffフラグは、技術的に言って相互に排他的ではなく、両立してしまうらしい。Avisynthそのものはどちらかしか使わないようになっているが、ソースフィルタがそうしているとは保証されない、という内容がソースコードにコメント書きしてある。

x264r1524

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.

出力フレームをBREFとして正しくマーク。

pic_outのコードをシンプル化。

x264r1523

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.

HRD規格適合性の修正。

いつものことだが、仕様というものは狂気的に不明瞭なものであって、一見して正しく理解することは不可能である。

obfuscatedは「不明瞭な・ぼかした・曖昧な」という意味なのだが、比較的堅い用語らしく、insanelyがcrazilyに近い意味なので、訳としての文体がくだけてよいのか堅くすべきなのかに困る…。

x264r1522

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.

Bフレーム中のb16x8/8x16の早期終了を改善。

若干遅くなるが最大1-2%の圧縮率改善。

x264r1521

git-id : a1e4e583fc9740666c442c1ae2ee06e335f937d0

Author : Jason Garrett-Glaser

Date: Fri Apr 2 12:23:52 2010 -0700

Fix 10L in B-skip improvement patch

B-skip改善パッチにおける10Lを修正。

B-skip改善パッチとはr1491のこと。

x264r1520

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.

VBV + ABRでのSEIヘッダへの表示を修正。

SEIヘッダはbitrate == maxrateでない場合にはCBRだと言うべきではない。

x264r1519

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.

slicetype_frame_costをシンプル化。

(intra-only呼び出しに起因する)VBVがonの場合の冗長な計算を回避。

ロジックの殆どをMB毎のコードに移動。

x264r1518

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.

小さなパーティションに対するCABACの状態コピーを高速化。

i4x4, i8x8, sub8x8のRD呼び出しごとに〜25クロックを節約。

x264r1517

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.

大規模なコスメティックス&構文の整理。

適用可能なループに関してはC99のループインデックス構文を使用するように変換。

ratecontrol.c, visualize, ppc, その他における一貫性のない構文の殆どを整理。

log(x)/log(2)の構造をlog2で置き換え、log10も同様。

全ての-Wshadow違反を修正。

visualizeのサポートを修正。

コスメティックスとは言え、ものすごい変更量なのでバグが無いか注意したい。

C99のループインデックス構文とはfor( int i = 0 ; ...)というループ内局所変数を使う構文。変数のスコープが限られるため、コンパイラが最適化をしやすくなる。

-Wshadowは、シンボルのスコープの関係で、関数のローカル変数名などがグローバル変数名などを隠す場合に警告するオプション。

今回、ローカル変数のconstを外しているものが結構ある。当サイトの簡易掲示板で頂いた情報では、constにそれほど最適化の意味がない(十分に賢いコンパイラなら判断出来るし、そもそもそれほど実益がない)ことと、コーディング上の手間暇とのバランスから、「基本的に付けない」方向にした、ということのようだ。

x264r1516

git-id : 2f432c81bb0192d7ebed1fd2f7afd8a431582553

Author : Jason Garrett-Glaser

Date: Tue Mar 30 23:30:09 2010 -0700

Fix array overread in b8x16 search

b8x16検索での配列の過読込を修正。

x264r1515

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.

サブパーティションがOFFの場合のdirectのチェックを高速化。

また、関数全体を少しシンプル化。

x264r1514

git-id : d8d8e7ea3043adc292ce97851eaec057d002dc59

Author : Jason Garrett-Glaser

Date: Mon Mar 29 02:14:25 2010 -0700

Print crf-max with appropriate precision in SEI

SEIにcrf-maxを適切な精度で表示。

x264r1513

git-id : ffd1cd15984b60ab4e74c32ac71ffe4b576a30da

Author : Yusuke Nakamura

Date: Mon Mar 29 00:05:30 2010 -0700

Fix 10l in timecode seeking

タイムコードのシークの10Lを修正。

x264r1512

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.

10L修正:不要なエラーチェックを除去。

このエラーチェックはCFR入力 + --timebaseに対するものだが、発生することがなく、VFR入力でのバグをもたらす。

x264r1511

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.

pyramid + ref=1で2つのL1参照を使わない。

ref=1でのエンコードが僅かに早く。

x264r1510

git-id : 33d382a2fa75b8f7929302b40826e2892355cef4

Author : Henrik Gramner

Date: Fri Mar 26 17:57:23 2010 -0700

Update copyright year in SEI header

SEIヘッダのコピーライトの年表記を更新。

x264r1509

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.

新しい"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

git-id : a76ac874ae45698c7e3354200e48ac181baed499

Author : Jason Garrett-Glaser

Date: Thu Mar 25 14:46:24 2010 -0700

Avoid redundant MV prediction in duplicate refs

複製参照での無駄なMV予測を回避。

weightp関連の高速化。

x264r1507

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.

mvd処理のコスメティックス。

手動でポインタ演算するのではなく2次元配列を使用。

x264r1506

git-id : 9904be8b50942d7038dcdd5ee20ea93154823b55

Author : Jason Garrett-Glaser

Date: Wed Mar 24 07:25:01 2010 -0700

Fix make uninstall on systems with executable suffixes

実行可能形式にサフィックスのあるシステムでのmake uninstallを修正。

Windowsで言えば実行ファイル名には".exe"が付くことを指している。

x264r1505

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.

静止画圧縮のための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

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.

正しいフィールドを使用し非mod16解像度のパディング。

高さが非mod16のインターレース映像の圧縮率を改善。

念のため、「非mod16」=「16で割り切れない」の意味。

そういえばこんなFIXMEがあったのを忘れていた。

x264r1503

git-id : a882f7a6ada6018006c264ab5f16bc0ed55dcf10

Author : Jason Garrett-Glaser

Date: Sun Mar 21 09:10:00 2010 -0700

Document slow/fast firstpass in --fullhelp

--fullhelpにslow/fast firstpassのドキュメントを追加。

ヘルプの表示内容にのみ影響。

x264r1502

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.

プロファイリングでの属性の設定ミスをいくつか修正。

load_hadamardとavg2 w16 ssse3 cacheline splitコードに費やされたサイクルは属性を誤っていた。

プロファイリングでの、ということなので一般ユーザには関係ないだろう。

x264r1501

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.

非RDでのintra解析をかなり高速化。

各予測モードは最低1bitかかるため、その部分を初期SATDコストに移動。

これはi4x4/i8x8解析をより早期に終了させる。

予測されたモードのコストがその他のモードの符号コストよりも小さければ、解析を早期終了する。

今までearly terminationを「早期終了」と書いてきたけど、「(処理の)打ち切り」と訳したほうがわかりやすかっただろうかと最近後悔している。

x264r1500

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.

sliced threadのスタックアラインメントを修正。

GCC以外でコンパイルされたアプリケーションから呼ばれた際にクラッシュを引き起こしていたかも知れない。

前:x264-changelog-jp r1400-r1499 - 次:x264-changelog-jp r1600-r1699

最終更新時間:2010年05月18日 09時37分44秒