このページの全ては誤っているかもしれません。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秒