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

x264-changelog-jp r1000-r1099

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

x264-changelog-jp r1000-r1099

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

次:x264-changelog-jp r1100-r1199

x264r1099

git-id : c0be8106d40b2ccbfec37229afaecf236b03762c

Date: Sat Jan 31 05:00:39 2009 -0800

Faster 8x8dct+CAVLC interleave

Integrate array_non_zero with the CAVLC 8x8dct interleave function.

Roughly 1.5-2x faster than the original separate array_non_zero method.

8x8dct + CAVLC interleaveを高速化。

array_non_zeroをCAVLC 8x8dct interleave関数に統合。

オリジナルの別途array_non_zeroを行う方法よりも大雑把に1.5-2倍の高速化。

x264r1098

git-id : 91bffdcc24e59620cc09aa4288f7e0c0b74c8891

Date: Sat Jan 31 01:00:26 2009 -0800

Measure CBP cost in i8x8 RD refinement

~0.02-0.05db PSNR gain at high quants in intra-only encoding, pretty small otherwise.

Allows a small optimization in i8x8 encoding.

i8x8のRD refinmentでCBP(Coded Block Pattern)コストを計測。

intraのみのエンコード、かつ高度に量子化する場合で〜0.02-0.05dbのPSNRの利得、その他では若干小さくなる。

i8x8エンコードに小さな最適化を含む。

x264r1097

git-id : e404f350afc3c52a99d13d22f862cd2ede1438b0

Date: Sun Feb 1 20:58:00 2009 +0100

Take advantage of saturated signed horizontal sum instructions in

the variance computation epilogue since there won't be any overflow

triggering an overflow.

Suggested by Loren Merritt

variance(分散)計算のエピローグ部において、オーバーフローを引き起こすオーバーフローはないため、水平方向の符号付き飽和積算命令を上手く利用。

Loren Merrittによる提案。

PowerPCにのみ影響。

x264r1096

git-id : 4c171c3b1c803a173ace823275882b3c9a2ecd24

Date: Fri Jan 30 03:40:54 2009 -0800

Massive overhaul of nnz/cbp calculation

Modify quantization to also calculate array_non_zero.

PPC assembly changes by gpoirior.

New quant asm includes some small tweaks to quant and SSE4 versions using ptest for the array_non_zero.

Use this new feature of quant to merge nnz/cbp calculation directly with encoding and avoid many unnecessary calls to dequant/zigzag/decimate/etc.

Also add new i16x16 DC-only iDCT with asm.

Since intra encoding now directly calculates nnz, skip_intra now backs up nnz/cbp as well.

Output should be equivalent except when using p4x4+RDO because of a subtlety involving old nnz values lying around.

Performance increase in macroblock_encode: ~18% with dct-decimate, 30% without at CRF 25.

Overall performance increase 0-6% depending on encoding settings.

nnz/cbp計算の大きなオーバーホール。

array_non_zeroも計算するように量子化を修正。

gpoirior(人名)によるPowerPCアセンブラの変更。

量子化に関して、array_non_zeroにptestを使用するSSE4バージョンといくつかの小さな改善を含んだ新しい量子化アセンブラ。

nnz/cbp計算を直接エンコードに統合し、多くの不要なdequant/zigzag/decimate/その他の呼び出しを回避するためにこの新規機能を使用。

また、アセンブラに新しいi16x16 DC専用iDCT(逆DCT)を追加。

これによりintraエンコーディングはnnzを直接計算するため、skip_intraは同様にnnz/cbpをバックアップする。

散らばっていた旧nnz値を細かく拾っているため、p4x4+RDOを使用する場合以外は、出力は同一のはず。

macroblock_encodeの速度向上は、CRF25のdct-decimate使用時で〜18%、不使用時で30%。

全体での速度向上はエンコード設定次第で、0-6%。

diffは追い切れない程の量だが、上記の通りMBのエンコーディング、量子化周りが大きく変わっている。

x264r1095

git-id : 8ae672fe2e0f779e57abe560bafdf41ec1fea533

Date: Thu Jan 29 01:28:12 2009 -0800

Add PowerPC support for "checkasm --bench", reading the time base register.

This isn't ideal since the `time base' register is running at a fraction

of the processor cycle speed, so the measurement isn't as precise as x86's

rdtsc.

It's better than nothing though...

"checkasm --bench"にPowerPCのサポートを追加、time base(時間ベースの)レジスタを読む。

'time base'レジスタはプロセッサ周波数の分数で進行するために理想的ではなく、その測定はx86のrdtscに比して精密ではない。

しかし、何もないよりはマシ。

PowerPCにのみ影響。

PowerPCのmftb命令を使用して実行時間を測る。x86のrdtscはクロックと1:1だがmftbはOSがN:1(fraction:分数)に設定する。x264は1クロック単位での最適化を行っているため精度が十分でないと言っている。mftb(rdtscも)は64bit値なので1:1でも3GHzで約194年分の時間を表せるのだが、OS依存なので仕方ない。

x264r1094

git-id : c9095eb2792b18a264569d46a3d923eafe333f45

Date: Thu Jan 29 04:35:34 2009 +0000

fix detection of pthread and isfinite on OpenBSD

OpenBSDにおけるpthreadとisfiniteの検出を修正。

OpenBSDにのみ影響。

x264r1093

git-id : 1df50b9287c83d5443d19482345b6842b78081c3

Date: Tue Jan 27 05:42:51 2009 +0000

remove $ECHON kludge, which broke on SunOS. bring back `gcc -MT`.

remove auto-reconfigure on svn update, which has done nothing since we stopped using svn.

fix $AS on sparc (was disabled by mmx check).

fix --extra-asflags (was ignored).

mark bash scripts as bash, not sh

patch partly by Greg Robinson and Jugdish.

SunOSで動かず、上手くないコードだった$ECHONを削除。'gcc -MT'に戻した。

svnの使用を止めたために意味のない、svn update時のauto-reconfigureを削除。

sparcでの$ASを修正(mmxチェックで無効にされていた)。

--extra-asflagsを修正(無視されていた)。

bashスクリプトをshでなくbashと明示。

パッチは一部Greg RobinsonとJugdishによる。

'gcc -MT'にしたことでgcc2.9xでmakeできなくなるかも知れない。猫科研究所ではgcc3.x以上でしかビルドしたことがないので、これまでは可能だったのか定かでない。

x264r1092

git-id : 60f4cd8936af4997cfbd9650ea27152df00c5669

Date: Mon Jan 26 14:28:48 2009 +0000

1.6x faster satd_c (and sa8d and hadamard_ac) with pseudo-simd.

60KB smaller binary.

satd_c(とsa8dとhadamard_ac)を疑似SIMDで高速化。

バイナリが60KB小さく。

x264r1091

git-id : 71c5a8dca6e5f7bf2330d028989eeeab27701151

Date: Tue Jan 27 23:27:56 2009 -0800

Hack around a potential failure point in VBV

pred_b_from_p can become absurdly large in static scenes, leading to rare collapses of quality with VBV+B-frames+threads.

This isn't a final fix, but should resolve the problem in most cases in the meantime.

VBVの潜在的な問題点周辺のHack。

pred_b_from_pは固定的なシーンでやたら大きくなり得るため、稀にVBV + B-frames + threadsで画質の破綻に繋がる。

これは最終的な修正ではないが、ひとまず殆どのケースで問題を解決するだろう。

「固定的なシーン」は、ソース上には"In some cases, such as completely blank scenes"とあり、pred_b_from_pをキャップしている。単に動きの少ないシーンだけでなく非常に暗いシーン等もマシになるのかも知れない。

x264r1090

git-id : 8e2c4b76dd49c44cedf46343e46b292d5a0ca39e

Date: Mon Jan 26 23:43:25 2009 -0800

Much faster chroma encoding and other opts

~15% faster chroma encode by reorganizing CBP calculation and adding special-case idct_dc function, since most coded chroma blocks are DC-only.

Small optimization in cache_save (skip_bp)

Fix array_non_zero to not violate strict aliasing (should eliminate miscompilation issues in the future)

Add in automatic substitutions for some asm instructions that have an equivalent smaller representation.

chromaエンコーディングをかなり高速化&その他の最適化。

CBPの計算の再構成と、殆どの符号化chromaブロックがDCのみであることから個別ケースのidct_dc関数を追加することにより、chromaエンコードを〜15%高速化。

cache_save(skip_bp)に小さな最適化。

strict aliasingに違反しないようにarray_non_zeroを修正(将来的なコンパイル時の問題を排除)。

より小さな同等表現を持ついくつかのアセンブラ命令に対して自動的な代替を追加。

strict aliasingとは、例えばint変数を別名(alias)のshort*で操作したりしない厳密(strict)で堅いコードであるということ。キャストに頼った力ずくのメモリ操作をしていないとも言える。gcc3.x以上では-O2以上でこれが仮定され、最適化に利用される。困る場合は-fno-strict-aliasingで「行儀が悪いです」と宣言する。

x264r1089

git-id : 355c445f222eae4f953f1be9f8e1d44a2a07d639

Date: Mon Jan 26 06:28:23 2009 -0800

add AltiVec implementation of x264_mc_copy_w16_aligned

x264_mc_copy_w16_alignedのAltiVec実装を追加。

PowerPCにのみ影響。

x264r1088

git-id : 71ac0a34bc0460bf67da68f300e4150bc50d9aae

Date: Fri Jan 23 13:53:06 2009 -0800

add AltiVec implementation of x264_pixel_var_16x16 and x264_pixel_var_8x8

x264_pixel_var_16x16とx264_pixel_var_8x8のAltiVec版を追加。

PowerPCにのみ影響。

x264r1087

git-id : 1959672cf6f18da888940261916dbf81248e0598

Date: Fri Jan 23 01:11:20 2009 -0800

add AltiVec 16 <-> 32 bits conversions macros

AltiVecの16bit<->32bit変換マクロを追加。

PowerPCにのみ影響。

x264r1086

git-id : 39a279613d10fa4dbe608f1a2af1eb86686033af

Date: Mon Jan 19 21:29:27 2009 +0100

Replace 16x16=>32 mul + pack + add by a simple 16x16=>16 multiply-add.

Suggested by Loren.

16x16 => 32 mul + pack + add をシンプルな 16x16 => 16 multiply-addで置き換え。

Lorenからの提案。

PowerPCにのみ影響。

r1083のAltiVecで32bit演算を使用していたので本来の16bit演算へ変更。速度的にはケースバイケース。

x264r1085

git-id : 5fb6417309febda6f73a98494cb935379129e15d

Date: Mon Jan 19 15:17:53 2009 -0800

Eliminate support for direct_8x8_inference=0

The benefit in the most extreme contrived situation was at most 0.001db PSNR, at the cost of slower decoding.

As this option was basically useless, it was a waste of code and prevented some other useful optimizations.

Remove some unused mc code related to sub-8x8 partitions.

Small deblocking speedup when p4x4 is used.

Also remove unused x264_nal_decode prototype from x264.h.

direct_8x8_inference=0のサポート廃止。

最も極端で不自然なケースにおいても最大0.001db程度のPSNRの利得で、代償にデコードが遅くなっていた。

このオプションは基本的に無用であり、コードの無駄で他の有用な最適化を妨げていた。

いくつかのsub-8x8パーティションに関わる不使用のmc(動き補償)コードを削除。

p4x4使用時のデブロッキングが少し速度向上。

また、x264.hから不使用であるx264_nal_decodeのプロトタイプを削除。

X264_BUILDが66に。

--direct-8x8がオプションから消えた。commitdiffの理解が追いついていないが、恐らくdirect4x4の廃止≒--direct-8x8を1に固定したような動作。

x264r1084

git-id : a48d1d0a2ad590d041b79bb152ed47d00451ba8d

Date: Mon Jan 19 05:14:53 2009 -0800

Add AltiVec and CPU numbers detection on OpenBSD.

OpenBSDでのAltiVecとCPU数の検出を追加。

OpenBSDにのみ影響。

x264r1083

git-id : 09e76c903d3419619ed326a4dd114369a55bdd6e

Date: Sun Jan 18 22:44:14 2009 +0100

Add AltiVec implementation of predict_8x8c_p. 2.6x faster than scalar C.

predict_8x8c_pのAltiVec実装を追加。スカラであるCより2.6倍高速。

PowerPCにのみ影響。

x264r1082

git-id : bde164d50f1936b28a9cd66f8be8d9995cc5a01b

Date: Sat Jan 17 15:16:37 2009 -0500

Warn if direct auto wasn't set on the first pass

And, if it wasn't, run direct auto as if it was the first pass, rather than simply forcing temporal direct mode on all frames.

Also a small tweak to coeff_level_run asm.

1st pass(最初のパス)でdirect autoが設定されていない場合に警告。

そしてその場合に、全てのフレームで単に強制的にtemporal directモード(訳注:時間方向でのdirectモード)とするのではなく、1st passであるかのようにdirect autoを実行する。

coeff_lecel_runのアセンブラにも小さな改善。

x264r1081

git-id : 201f7ad8ad50ff460f79cb44e0bee6aebbf039ca

Date: Sat Jan 17 12:52:28 2009 +0000

Changes the PowerPC ppccommon.h header so it no longer checks for a particular

OS such as Linux but instead looks for HAVE_ALTIVEC_H being set.

Fixes all *BSD/PowerPC builds.

PowerPCのヘッダppccommon.hを変更、今後はLinux等の特定のOSに対するチェックはせず、その代わりHAVE_ALTIVEC_Hがセットされているかを見る。

これは全ての*BSD/PowerPCビルドを修正する。

PowerPCにのみ影響。機能上の影響なし。

x264r1080

git-id : 56e91836a12f1b119fb4aae43182f2fc012f1eca

Date: Wed Jan 14 21:56:31 2009 +0100

update x264_hpel_filter_altivec's prototype to match the one of the C version.

It changed in commit 045ae4045a1827555b3eaab4fbf3c9809e98c58f (factorization of mallocs)

(NB: Altivec implementation wasn't allocating and writing to any scratch memory.)

x264_hpel_filter_altivecのプロトタイプをC言語バージョンと一致させた。

これは045ae4045a1827555b3eaab4fbf3c9809e98c58fのコミット(mallocの除去)で変更された。

(NB: Altivec実装はスクラッチメモリを確保も、書き込みもしなかった。)

PowerPCにのみ影響。機能上の影響なし。

x264r1079

git-id : d2b6423db8310e5238fd7c0e517b3344578cc08a

Date: Wed Jan 14 21:49:42 2009 +0100

rename vector+array unions to closer match the vector typedefs names.

vector+array共用体をより適切なベクタtypedef名に変更。

PowerPCにのみ影響。機能上の影響なし。

変数の型名をvect_ushort_u→vec_u16_u等とよりC99的で一意な物に変更している。

x264r1078

git-id : 264e447cc4ce267d7e4d078b080716093a78a2c8

Date: Wed Jan 14 21:13:58 2009 +0100

Add Altivec implementation of all the remaining 16x16 predict routines.

残っていた全ての16x16の予測ルーチンのAltivec版を実装。

PowerPCにのみ影響。

x264r1077

git-id : e46f64824a718ca146724d6cfa104aaba16eb169

Date: Tue Jan 13 21:11:50 2009 -0500

Cache ref costs and use more accurate MV costs

New MV costs should improve quality slightly by improving the smoothness of the field of MV costs (and they're closer to CABAC's actual costs).

Despite being optimized for CABAC, they still help under CAVLC, albeit less.

MV cost change by Loren Merritt

refコストをキャッシュしより精密なMVコストを使用。

新MVコストはMVコストのフィールド(値)のなめらかさを向上し(CABACの実際のコストに近づき)、質を僅かに向上するはず。

CABACに最適化されるにも関わらず、より小さいながら、CAVLCでも効果がある。

MVコストの変更はLoren Merrittによる。

x264r1076

git-id : 79bfb039de253c986986fbd99935c0d4a95ad503

Date: Tue Jan 13 20:22:36 2009 -0500

Support forced frametypes with scenecut/b-adapt

This allows an input qpfile to be used to force I-frames, for example.

The same can be done through the library interface.

Document the format of the qpfile in --longhelp and the forcing of frametypes in x264.h

Note that forcing B-frames and B-refs may not always have the intended result.

Patch partially by Steven Walters .

scenecut/b-adapt使用時のフレームタイプの強制をサポート。

これは例えば、Iフレームを強制するための指定をqpfileを使用した入力で可能にする。

同じことはライブラリインターフェースからも可能。

--longhelpにqpfileのフォーマットについて、x264.hにフレームタイプの強制について記述。

BフレームとB参照の強制は常に意図した結果になるとは限らないことに注意。

パッチは一部Steven Walters提供。

x264r1075

git-id : 7c4f8297e057a439cf1f1d7cf95d05b9f27063c7

Date: Tue Jan 13 19:58:44 2009 -0500

Remove an IDIV from i8x8 analysis

Only one IDIV is left in macroblock level code (transform_rd)

IDIV(整数除算)をi8x8解析から削除。

マクロブロックレベルのコード中では(transform_rdに)1つだけIDIVが残っている。

x264r1074

git-id : 9d6cc8e28319b3935698d52a6711414435444029

Date: Thu Jan 8 15:07:16 2009 -0500

Fix regression in r1066

With some combinations of video width and other settings, the scratch buffer was slightly too small.

This caused heap corruption on some systems.

Also prevent merange from being raised during encoding with esa/tesa through encoder_reconfig, as this no longer works.

r1066のレグレッション(訳注:エンバグ)を修正。

ビデオの幅とその他の設定の組み合わせのいくつかで、スクラッチバッファ(訳注:作業バッファ?)が僅かに小さかった。

これによりいくつかのシステム上でヒープ破壊が発生していた。

esa/tesa時にencoder_reconfigでmerangeが引き上げられることを抑制、これはもはや働かないため。

x264r1073

git-id : 6a4a9beae060d69bbeaeb8c1c3056fb6ae6765f6

Date: Tue Jan 6 16:55:44 2009 -0500

Disable B-frames in lossless mode

They hurt compression anyways, and direct auto was bugged with lossless.

ロスレスモードでのBフレームを無効化。

どっちみち圧縮率に悪影響で、direct autoはロスレス時のバグを含んでいる。

x264r1072

git-id : f586ba52b87ebb6b1d7689603680ef7d3219e09a

Date: Mon Jan 5 22:53:11 2009 +0000

Factorize in ppccommon.h the conditional inclusion of altivec.h on Linux systems.

ppcccommon.hにLinuxシステムでのaltivec.hの条件付きインクルードを集約。

PowerPCのLinuxにのみ影響。機能上の影響なし。

x264r1071

git-id : 87b6d55ebda8a11186f7b09b5866b05a4584d13d

Date: Mon Jan 5 15:58:32 2009 -0500

Disable __builtin_clz() intrinsic on gcc versions prior to 3.4.

The function did not exist before that version.

バージョン3.4より前のgccで内蔵の__builtin_clz()を無効化。

この関数はそれより前のバージョンには存在しない。

x264r1071→r1070

r1070が取り下げられたためr1070に繰り下がった。

git-id : 6f7c9be698848e8d9fd116b728af7d718ea43a2f

Date: Thu Jan 1 21:44:00 2009 -0500

Small tweaks to coeff asm

Factor out a few redundant pxors

Related cosmetics

coeff(係数)アセンブラへの小さな調整。

いくつかの冗長なpxorを削除。

関連したコスメティックス。

繰り下がり前のgit-idは"16c855394a0068792456aada724f3d8305608fa6"。

x264r1070→無効

この修正は取り下げられた。現在のリポジトリには含まれていない。

git-id : 1e2f6d258df09874e2e0c85ef611f27d397555bf

Date: Thu Jan 1 21:38:33 2009 -0500

Fix C99ism in r1066

r1066でのC99イズム(訳注:C99的なコードの書き方)を修正。

取り下げられた経緯はx264-devのMLにあるが、要約するとC99対応度の低いMSVCに毎回付き合ってられないから、ということの模様。この修正の有無で機能上の影響なし。

x264r1069

git-id : ed32ad20d6914d1781c7711574f10a8df49e3e20

Date: Tue Dec 30 22:20:37 2008 -0500

Use the correct strtok under MSVC

Also change one malloc -> x264_malloc

MSVC下で正しいstrtokを使うようにした。

同様に1つのmallocをx264_mallocに変更した。

x264r1068

git-id : 390d26ad2ca72b420448c36a747d3ee49b79e75b

Date: Tue Dec 30 22:14:45 2008 -0500

Add stack alignment for lookahead functions

Should allow libx264 to be called from non-gcc-compiled applications without adding force_align_arg_pointer.

lookahead(先読み)関数にスタックアラインメントを追加。

gcc以外でコンパイルされたアプリケーションから、force_align_arg_pointerを追加することなく、libx264が呼び出されることが可能になったはず。

x264r1067

git-id : 00cef64dd3fff5d4b5b9b0e63314c11bfb7d33e0

Date: Tue Dec 30 20:47:45 2008 -0500

Add support for SSE4a (Phenom) LZCNT instruction

Significantly speeds up coeff_last and coeff_level_run on Phenom CPUs for faster CAVLC and CABAC.

Also a small tweak to coeff_level_run asm.

SSE4A(Phenom) LZCNT命令のサポートを追加。

CAVLCとCABAC高速化のため、Phenom CPU上でのcoeff_lastとcoeff_level_runを有意に高速化。

coeff_level_runのアセンブラの小さな改善も行った。

x264r1066

git-id : 045ae4045a1827555b3eaab4fbf3c9809e98c58f

Date: Mon Dec 29 05:14:26 2008 +0000

factor mallocs out of hpel, ssim, and esa.

there should now be no memory allocation outside of init-time.

hpel, ssimとesaからmallocを除去。

初期化時以外にメモリ確保が無くなったはず。

x264r1065

git-id : 0e1a92c56f8c89735e2d5044f89832bdc22b6e50

Date: Mon Dec 29 22:00:02 2008 -0500

Much faster CAVLC RDO and bitstream writing

Pure asm version of level/run coding. Over 2x faster than C.

Up to 40% faster CAVLC RDO. Overall benefit up to ~7.5% with RDO or ~5% with fast encoding settings.

CAVLC RDOとビットストリームの書き込みを大きく高速化。

完全アセンブラバージョンのlevel/runコーディング。Cより2倍以上速い。

CAVLC RDOが最大40%高速化。全体での利得はRDOの場合で最大〜7.5%、または高速なエンコーディング設定(訳注:≒RDO不使用と思われる)の場合で〜5%になる。

x264r1064

git-id : 648e132f7135c7e18625198e3ffe2c6c7d824df6

Date: Mon Dec 29 21:52:25 2008 -0500

Cosmetics: cleaner syntax for defining temporary registers in asm

Globally define t#[qdwb], so that only t# needs to be locally defined when reorganizing registers

コスメティックス:アセンブラ中でテンポラリレジスタを定義するための文法を整理。

グローバルにt#[qdwb]を定義し、レジスタを再構成する場合にはt#だけがローカルに定義されればよいようになった。

x264r1063

git-id : 84a1ca6ce70fe7bad4922ddc5a72c2e9cd73703b

Date: Sat Dec 27 21:36:14 2008 -0500

Much faster CABAC RDO

Since RDO doesn't care about what order bit costs are calculated, merge sigmap and level coding into the same loop in RDO.

This is bit-exact for 4x4dct but slightly incorrect for 8x8dct due to the sigmap containing duplicated contexts.

However, the PSNR penalty of this is extremely small (~0.001db).

Speed benefit is about 15% in 4x4dct and 30% in 8x8dct residual bit cost calculation at QP20.

Overall encoding speed benefit is up to 5%, depending on encoding settings.

Also remove an old unnecessary CABAC table that hasn't been used for years.

CABACのRDOをかなり高速化。

RDOはどのような手順でビットコストが計算されたか気にしないため、RDO中のsigmapとレベルのコーディングを同じループに統合した。

これは4x4dctに関してはbit-exact(ビット単位で正確)であるが、sigmapが重複したコンテキストを含むため、8x8dctに関しては僅かに正しくない。

しかしながら、これによるPSNRのペナルティは非常に小さい(〜0.001db)。

スピードの利得はQP20のresidual bit cost(残余ビットコスト)計算において8x8dctで約30%、4x4dctで約15%である。

全体でのエンコーディングスピードの利得は、エンコーディング設定によるが最大5%になる。

また、何年も使用されていなかった古い不要なCABACのテーブルを削除した。

x264r1062

git-id : 40ad1b6d411d1e7d0788d29627804a19977bb6ee

Date: Fri Dec 26 07:35:49 2008 -0500

VLC table optimizations

Slightly reorganize VLC tables for ~2% faster block_residual_write_cavlc.

Also a small optimization in p8x8 CAVLC.

VLCのテーブル最適化。

僅かにVLCテーブルを再編しblock_residual_write_cavlcを〜2%高速化。

p8x8のCAVLCにも小さな最適化。

x264r1061

git-id : 839cd8cf33492213f7878bf14c26b387b6599abd

Date: Wed Dec 24 22:58:17 2008 -0500

Fix crash in --me esa/tesa introduced in r1058

Also suppress the last mingw warning message

r1058で発生した--me esa/tesaでのクラッシュを修正。

また、mingwの最後の警告メッセージを抑制。

x264r1060

git-id : 42070dff1bc3019a6f56773fce3dd6e328e3a61b

Date: Tue Dec 23 22:33:28 2008 -0500

Optimize variance asm + minor changes

Remove SAD argument from var, not needed anymore.

Speed up var asm a bit by eliminating psadbw and instead HADDWing at end.

Eliminate all remaining warnings on gcc 3.4 on cygwin

Port another minor optimization from lavc (pskip)

variance(訳注:分散、レートコントロールの収束管理部と思われる)のアセンブラを最適化+小規模な変更。

varからもう必要ないSAD引数を削除。

psadbwを排除し代わりに終端でHADDW化することでvarのアセンブラを若干高速化。

cygwinのgcc 3.4において残っていた全ての警告を排除。

lavc(訳注:libavcodecと思われる)からまた別の小さな最適化をポーティング(pskip)。

x264r1059

git-id : 265d61bcdc5e6ce6688e377af9f6c0136724ed59

Date: Tue Dec 23 18:31:48 2008 -0500

Minor CABAC cleanups and related optimizations

Merge the two list tables to allow cleaner MC/CABAC/CAVLC code

Remove lots of unnecessary {s

Port some very minor opts from lavc

小規模なCABACの整理と関連する最適化。

MC/CABAC/CAVLCを整理できるようにするため2つのリスト表を統合。

多くの不要な"{"を削除。

いくつかの非常に小さな最適化をlavc(訳注:libavcodecと思われる)からポーティング。

x264r1058

git-id : a4ec1020efb1a2a6757f8f891d78c2dd9344bb91

Date: Thu Dec 11 19:47:17 2008 +0000

faster ESA init

reduce memory if using ESA and not p4x4

ESA初期化を高速化。

ESAを使用し、かつp4x4を使用しない場合のメモリ使用量を低減。

x264r1057

git-id : 5f8a1490eb0bc2a934c34bc8307bfdc1ade6a92d

Date: Mon Dec 15 23:02:49 2008 -0800

More macroblock_cache optimizations

Patch partially by Loren Merritt

macroblock_cacheをさらに最適化。

パッチは一部Loren Merrittによる。

x264r1056

git-id : e59ee249829049de338bebc3a2a00f9e471b40f3

Date: Mon Dec 15 13:15:29 2008 -0800

Faster macroblock_cache_rect

Explicit loop unrolling

macroblock_cache_rectを高速化。

明示的なループアンローリング。

x264r1055

git-id : 2b8d6a6f957be623186ea2a20bcb13c3637440b8

Date: Sun Dec 14 18:30:51 2008 -0800

Optimizations in predict_mv_direct

Add some early terminations and minor optimizations

This change may also fix the extremely rare direct+threading MV bug.

predict_mv_directの最適化。

いくつかの早期打ち切りと小さな最適化を追加。

これは極めて稀なdirect+スレッドでのMVのバグをも修正する。

x264r1054

git-id : 918ff3c6a33e170655b61af85f8955ec5590fff8

Date: Sun Dec 14 10:47:28 2008 +0000

Fix visual corruption when picture width was not mod 32.

The previous Altivec implemention of mc_chroma assumed that i_src_stride was always mod 16.

ピクチャの幅が32の倍数ではない場合の目に見えた破綻を修正。

以前のmc_chromaのAltivec実装はi_src_strideが16の倍数であると仮定していた。

x264r1053

git-id : 9089d217078450fad075b5eb61f372572d094a5f

Date: Mon Dec 8 21:11:45 2008 +0100

Add support for FSF GCC version >= 4.3 on OSX.

So far, only Apple GCC version was supported.

OSXでFSFのGCC 4.3以降のサポートを追加。

これまではApple GCCのみサポートされていた。

Macのみ影響。機能上の影響なし。

x264r1052

git-id : ad2c84f76f9fbb4f360caeb87df824beab023bbf

Date: Thu Dec 11 17:31:52 2008 -0800

More accurate refcost for p8x8 CAVLC

Slightly better quality, especially in non-RD mode, with CAVLC.

p8x8 CAVLCに対してより精密なrefcost。

僅かに質を改善、特にCAVLCの非RDモードにおいて。

x264r1051

git-id : 549cc55b50df76d5167c0ace75c62595feb753ca

Date: Wed Dec 10 20:54:17 2008 -0800

use lookup tables instead of actual exp/pow for AQ

Significant speed boost, especially on CPUs with atrociously slow floating point units (e.g. Pentium 4 saves 800 clocks per MB with this change).

Add x264_clz function as part of the LUT system: this may be useful later.

Note this changes output somewhat as the numbers from the lookup table are not exact.

AQで実際のexp/powの代わりにルックアップテーブルを使用。

有意に速度向上、特に酷く遅い浮動小数点ユニットを持つCPUで(例えばPentium 4はこの変更でMBごとに800クロックを節約)。

LUTシステムの一部としてx264_clz関数を追加:これは後々役立つ。

ルックアップテーブルによる数値が精密ではないため出力が幾分変わることに注意。

x264r1050

git-id : 877d22e071f1b73fb33c628cc273e2819d10c3de

Date: Wed Dec 10 20:53:13 2008 -0800

Suppress saveptr warnings on Windows GCC

Windows上のGCCでsaveptrの警告を抑制。

x264r1049

git-id : 0fdd0403cc9cc95637e287ddd1b257d6b65b7ddb

Date: Wed Dec 10 20:52:06 2008 -0800

More small speed tweaks to macroblock.c

macroblock.cにさらなる小さな速度改善。

x264r1048

git-id : 77028cd3671de855affb02ffefe6bbd99ac7816e

Date: Mon Dec 8 13:44:23 2008 -0800

Much faster CAVLC residual coding

Use a VLC table for common levelcodes instead of constructing them on-the-spot

Branchless version of i_trailing calculation (2x faster on Nehalem)

Completely remove array_non_zero_count and instead use the count calculated in level/run coding. Note: this slightly changes output with subme > 7 due to different nonzero counts being stored during qpel RD.

CAVLCでのresidual coding(残余コーディング)をかなり高速化。

一般levelcodesを必要時に構築するのではなくVLCテーブルを使用。

分岐のないバージョンのi_trailing計算(Nehalemで2倍高速)。

array_non_zero_countを完全に削除し代わりにlevel/runコーディングにおいて計算された値を使用。

注意:qpel RDで異なる非ゼロ数量が格納されるため、subme > 7においてこれは僅かに出力を変える。

x264r1047

git-id : f773bf06256a467f6b18418d97ce2c7ddbe5728c

Date: Fri Dec 5 22:26:55 2008 +0100

fix compilation with GCC-4.3+

GCC-4.3以上でのコンパイルを修正。

x264r1046

git-id : 71d34b4eb454027cd742e6d96e2a70cce8cd163c

Date: Sat Nov 29 23:13:58 2008 -0800

High Profile allows 25% higher maxbitrate/cpb

Correct level detection to take this into account.

High Profileは25%高いmaxbitrate/cpbを許容する。

これを反映するためレベルの検出を修正。

x264r1045

git-id : cc40e308c919010ef9ae6ff376cda56a58a79f3a

Date: Sat Nov 29 14:04:29 2008 -0800

s/nasm/yasm in VS project file

VSのプロジェクトファイルでnasmをyasmに置換。

x264r1044

git-id : 6c3e0258776c1117929aec7c12d51b88c214467c

Date: Sat Nov 29 04:49:18 2008 -0800

Cosmetic: update various file headers.

コスメティックス:様々なファイルのヘッダを更新。

x264r1043

git-id : 2f031b0e31b799072383792358eee376baeb2ba7

Date: Sat Nov 29 11:54:02 2008 +0000

add date and compiler to `x264 --version`

"x264 --version"に日付とコンパイラを追加。

x264r1042

git-id : 5df2a7162aecda66b3da8dde501971389b1bbd44

Date: Fri Nov 28 14:32:11 2008 -0800

10L in r1041

r1041における10L。

r1041で発生した下らないケアレスミスで、クラッシュするバグの修正。

2009/02/04追記:10Lの意味については、akupenguin氏により下記のような冗談交じりの解説がなされていた。

10 liters of cola. This means:

(a) "I must have been asleep when I wrote that, need more caffeine."

(b) One of the MPlayer developers didn't like cola, and we joked about assigning him some as punishment after one time he committed a nasty bug that should have been easily spotted.

10リットルのコーラ。その意味は、

(a) 「それを書いたとき, 俺は居眠りしていたに違いない, もっとカフェインをくれ」

(b) MPlayerの開発者の一人はコーラが嫌いで、彼がすぐにわかるような下らないバグをコミットしたとき、それを罰にしようぜ、とみんなで冗談を言っていたことから。

正解は…両方、といったところか?

x264r1041

git-id : 12724e638e8d28ce97bcb9c77d2bb7336b087af3

Date: Thu Nov 27 19:37:56 2008 -0800

Significantly faster CABAC and CAVLC residual coding and bit cost calculation

Early-terminate in residual writing using stored nnz counts

To allow the above, store nnz counts for luma and chroma DC

Add assembly functions to find the last nonzero coefficient in a block

Overall ~1.9% faster at subme9+8x8dct+qp25 with CAVLC, ~0.7% faster with CABAC

Note this changes output slightly with CABAC RDO because it requires always storing correct nnz values during RDO, which wasn't done before in cases it wasn't useful.

CAVLC output should be equivalent.

CABACとCAVLCのresidual coding(残余コーディング)とビットコスト計算が有意に高速化。

residual writing(残余書き込み)で保持された非ゼロ数量を使用し早期打ち切り。

上記を可能にするため、lumaとchromaのDCで非ゼロ数量を保持。

ブロック中で最後の非ゼロ係数を探すアセンブリ関数を追加。

subme9+8x8dct+qp25のCAVLCにおいて全体で〜1.9%高速、CABACにおいて〜0.7%高速。

RDO中には常に正しい非ゼロ数量値を格納することを要求されるが、

以前は無意味な場合にこれを行っておらず、

そのため、これによりCABAC RDOでの出力がわずかに変わることに注意。

CAVLCの出力は同等のはずである。

x264r1040

git-id : 1591275a92faa3d63186e6de1e9022956113bc1d

Date: Wed Nov 26 23:42:55 2008 -0800

dequant_4x4_dc assembly

About 3.5x faster DC dequant on Conroe

dequant_4x4_dcをアセンブラ化。

DCの逆量子化がConroeで約3.5倍高速。

x264r1039

git-id : 2338e1301aded556be8b85c6c3b4050e562ed862

Date: Thu Nov 27 02:37:46 2008 +0000

fix an overflow in dct4x4dc_mmx

(unlikely to have occurred in any real video)

dct4x4dc_mmxでのオーバーフローを修正。

(現実の動画で発生していたとは考えにくい)

x264r1038

git-id : a7fd9f5da062de323ae89f9a71ede03bfd6ddb6a

Date: Tue Nov 25 16:30:39 2008 -0800

Remove nasm support

Nasm won't correctly parse the SSE4 code introduced a few revisions ago, so we're removing support.

Users should upgrade to yasm 0.6.1 or later.

nasmのサポートを削除。

nasmはいくつか以前のリビジョンで導入されたSSE4のコードを正しく解釈しないのでサポートをやめる。

ユーザはyasm 0.6.1以降にアップグレードすべき。

x264r1037

git-id : 0fe9b85f393e00b79c37d8c81aeae2a2f3d41290

Date: Tue Nov 25 15:11:24 2008 -0800

Fix rare warning messages in ratecontrol due to r1020

r1020に起因するratecontrolでの稀な警告メッセージを修正。

x264r1036

git-id : adffb7fa3d3db6d2fa2ad97e0c950afec8889ea5

Date: Tue Nov 25 15:10:43 2008 -0800

Fix MSVC compilation and clean up MSVC build file

Remove Release64 which never worked anyways.

MSVCのコンパイルを修正、MSVCビルドファイルをクリーンアップ。

どうせ動かないRelease64を削除。

x264r1035

git-id : e1013e8152254614696bbc9d92959bc9705d98b1

Date: Tue Nov 25 01:04:26 2008 -0800

Faster width4 SSD+SATD, SSE4 optimizations

Do satd 4x8 by transposing the two blocks' positions and running satd 8x4.

Use pinsrd (SSE4) for faster width4 SSD

Globally replace movlhps with punpcklqdq (it seems to be faster on Conroe)

Move mask_misalign declaration to cpu.h to avoid warning in encoder.c.

These optimizations help on Nehalem, Phenom, and Penryn CPUs.

width4 SSD+SATDを高速化、SSE4最適化。

2ブロックの位置を転移してsatd 8x4を実行することでsatd 4x8を行う。

width 4 SSDの高速化のためpinsrd(SSE4)を使用。

全体的にmovlhpsをpunpcklqdq(Conroeでより高速の模様)で置換。

encoder.cでの警告回避のためmask_misalignの宣言をcpu.hに移動。

これらの最適化はNehalem, Phenom, Penryn CPUで効果あり。

x264r1034

git-id : cab23dd7e6bf4ed501f36e1e6f64d4902d0489c9

Date: Tue Nov 25 17:27:27 2008 +0100

fix indentation, whitespace cleanup, more consistent indentation of macro backslashes

インデント修正、空白類のクリーンアップ、マクロのバックスラッシュをより一貫させた。

x264r1033

git-id : 4bf4109aee5b602f8a124b434e18f93ef539bbe6

Date: Sat Nov 22 17:54:38 2008 +0100

Change some macros to be more sensitive to memory alignment, thus avoiding

useless loads/stores and calculations of permutation vectors.

Affected functions are all of mc_luma, mc_chroma, 'get_ref', SATD, SA8D and deblock.

Gains globally vary from ~5% - 15% on a depending on settings running on a 1.42 ghz G4.

いくつかのマクロをメモリアラインメントに対してより精密にし、

不要なload/storeとpermutation vectorの計算を回避。

影響を受ける関数は全てのmc_luma, mc_chroma, 'get_ref', SATD, SA8Dとデブロック。

利得は1.42GHzのG4で設定により〜5%から15%まで様々。

x264r1032

git-id : 8215f79c7e19747b3206bcd6245be6cc6e668145

Date: Fri Nov 7 05:31:24 2008 +0000

refactor satd. 20KB smaller binary.

refactor sa8d. slightly faster.

more checkasm for hadamard.

satdのリファクタリング。バイナリが20KB小さく。

sa8dのリファクタリング。若干高速化。

hadamardにさらなるcheckasm。

x264r1031

git-id : 3a028c8e50238b7799175bd5a172e5517b4baf8d

Date: Mon Nov 24 21:56:24 2008 -0800

Fix crash with threads and SSEMisalign on Phenom

Misalign mask needed to be set separately for each encoding thread.

PhenomにおけるスレッドとSSEミスアラインのクラッシュを修正。

ミスアラインマスクは各エンコーディングスレッドで個別に設定する必要がある。

x264r1030

git-id : f9dba8bb274dffb19394db20912823464efcb8e1

Date: Fri Nov 21 03:39:11 2008 -0800

Phenom CPU optimizations

Faster hpel_filter by using unaligned loads instead of emulated PALIGNR

Faster hpel_filter on 64-bit by using the 32-bit version (the cost of emulated PALIGNR is high enough that the savings from caching intermediate values is not worth it).

Add support for misaligned_mask on Phenom: ~2% faster hpel_filter, ~4% faster width16 multisad, 7% faster width20 get_ref.

Replace width12 mmx with width16 sse on Phenom and Nehalem: 32% faster width12 get_ref on Phenom.

Merge cpu-32.asm and cpu-64.asm

Thanks to Easy123 for contributing a Phenom box for a weekend so I could write these optimizations.

Phenom CPU最適化。

PALIGNRをエミュレートする代わりにunalignedロードを使用しhpel_filterを高速化。

64bitでも32bitバージョンを使用する(エミュレートされたPALIGNRのコストは高く

中間値のキャッシングによるコスト低減でも相応しない)ことでhpel_filterを高速化。

Phenomでのmisaligned_maskのサポートを追加:hpel_filterが〜2%高速化、width16 multisadが〜4%高速化、width20 get_refが7%高速化。

PhenomとNehalemにおいてwidth12 mmxをwidth16 sseで置き換え:width12 get_refがPhenomで32%高速化。

cpu-32.asmとcpu-64.asmをマージ(統合)。

週末にPhenom boxを寄与してくれたEasy123に感謝する。そのためこの最適化を書くことができた。

x264r1029

git-id : cb3c213850320fb0c1b17ae8bbbbf5d687e43961

Date: Thu Nov 20 20:11:14 2008 -0800

A few tweaks to decimate asm

A little bit faster on both 32-bit and 64-bit

decimateアセンブリをいくつか調整。

32-bitと64-bitの両方でわずかに高速。

x264r1028

git-id : 83baa7fdd2edf3e2f9522fc8b79e0826bcf190fc

Date: Wed Nov 12 16:50:31 2008 -0800

Nehalem optimization part 2: SSE2 width-8 SAD

Helps a bit on Phenom as well

~25% faster width8 multiSAD on Nehalem

Nehalem最適化その2:SSE2 width-8 SAD。

Phenomでも多少の効果あり。

Nehalem上でwidth8 multiSADが〜25%高速。

x264r1027

git-id : aa14719bf2b78f8fd3da7bbabb0faf142313dae1

Date: Mon Nov 10 23:34:02 2008 -0800

Add subme=0 (fullpel motion estimation only)

Only for experimental purposes and ultra-fast encoding. Probably not a good idea for firstpass.

subme=0(画素単位の動き評価のみ)を追加。

実験的な目的での超高速エンコーディング専用。恐らく1パス目には向かない。

x264r1026

git-id : 745a48beddc58e2ef121326e9156d3d42590a4b5

Date: Mon Nov 10 15:34:48 2008 -0800

Fix minor memory leak in r1022

r1022における小さなメモリリークを修正。

x264r1025

git-id : fdb6114d1b456e1438374671ec42d1d77cdd05f8

Date: Mon Nov 10 15:32:06 2008 -0800

r1024 borked checkasm

Remove idct/dct2x2 from checkasm as they are no longer in dctf

r1024はcheckasmを壊していた。

idct/dct2x2はもはやdctfに存在しないためcheckasmから削除。

x264r1024

git-id : 2652abeae5445ffefded5ee7d0853300d0973b37

Date: Sun Nov 9 17:39:21 2008 -0800

Faster chroma encoding

9-12% faster chroma encode.

Move all functions for handling chroma DC that don't have assembly versions to macroblock.c and inline them, along with a few other tweaks.

chromaエンコーディングを高速化。

chromaエンコードが9-12%高速。

chroma DCを扱うアセンブリバージョンのないすべての関数をmacroblock.cに移動し、

インライン化といくつかの調整を行った。

x264r1023

git-id : f13d4637fe9b2f10b8c103500ac9293bfca3ad1f

Date: Sun Nov 9 17:34:31 2008 -0800

Various cosmetics and minor fixes

Disable hadamard_ac sse2/ssse3 under stack_mod4

Fix one MSVC compilation warning

Fix compilation in debug mode in certain cases on x64

Remove eval.c from MSVC project

Fix crash when VBV is used in CQP mode

Patches by MasterNobody

様々なコスメティックスと小さな修正。

stack_mod4下でhadamard_acのsse2/sse3を無効にした。

MSVCでコンパイル時の警告の1つを修正。

x64上の特定のケースにおけるデバッグモードでのコンパイルを修正。

eval.cをMSVCのプロジェクトから削除。

CQPモードでVBVが使用された場合のクラッシュを修正。

MasterNobodyによるパッチ提供。

stack_mod4とは、スタックが4byteアラインである場合を指していると思われる。gccで言えばデフォルトは16byteアラインであり、-mpreferred-stack-boundaryで変更できる。

x264r1022

git-id : 7cdaf638c3777f2b38fb60181dde7ed4de614cc1

Date: Sat Nov 8 20:16:17 2008 -0800

Faster b-adapt + adaptive quantization

Factor out pow to be only called once per macroblock. Speeds up b-adapt, especially b-adapt 2, considerably.

Speed boost is as high as 24% with b-adapt 2 + b-frames 16.

b-adapt + 適応的量子化(訳注:CQP以外のモードと思われる)を高速化。

powを取り除きマクロブロックで1回だけ呼ばれるようにした。b-adapt、特にb-adapt 2がかなり高速化。

速度の向上はb-adapt 2 + b-frames 16で24%になる。

x264r1021

git-id : 852579be365549db3ccc1c2906c9a1d2f4a92ac9

Date: Fri Nov 7 11:39:43 2008 -0800

Faster CABAC residual encoding

6% faster block_residual_write_cabac in RD mode.

CABACのresidual encoding(残余コーディング)を高速化。

RDモードでblock_residual_write_cabacが6%高速化。

x264r1020

git-id : 418cace8646a6f546a9026da47f79fad7285f577

Date: Wed Nov 5 19:51:59 2008 -0800

Fix potential crash in the case that the input statsfile is too short

Also resolve various other potential weirdness (such as multiple copies of the same error message in threaded mode).

入力のstatsファイルが短すぎる場合にクラッシュする可能性を修正。

様々な他の潜在的奇行(スレッドモードで同じエラーメッセージが複数存在するなど)も解決。

x264r1019

git-id : a5ac6a5b8688915553fe6fccee09f1272f3788ac

Date: Wed Nov 5 03:11:45 2008 -0800

Initial Nehalem CPU optimizations

movaps/movups are no longer equivalent to their integer equivalents on the Nehalem, so that substitution is removed.

Nehalem has a much lower cacheline split penalty than previous Intel CPUs, so cacheline workarounds are no longer necessary.

Thanks to Intel for providing Avail Media with the pre-release Nehalem CPU needed to prepare these (and other not-yet-committed) optimizations.

Overall speed improvement with Nehalem vs Penryn at the same clock speed is around 40%.

最初のNehalem CPUへの最適化。

movaps/movupsはもはやNehalem上ではその整数同等物と等価ではなくなったため、この代用は削除された。

Nehalemは以前のインテルCPUよりキャッシュライン分割のペナルティが非常に低いため、キャッシュラインのワークアラウンド(訳注:次善策 - 問題を回避する方策)は不要である。

これら(とまだコミットされていないその他)の最適化の準備に必要なプレリリース版Nehalem CPUをAvail Mediaに提供してくれたインテルに感謝する。

同クロックの対PenrynでNehalemの全体でのスピード向上は約40%である。

x264r1018

git-id : 41b8069cb74fa3bc905618225be07ee8d35bbc79

Date: Tue Nov 4 09:56:03 2008 -0800

Fix potential infinite loop in VBV under GCC 4.2

GCC4.2においてVBVで無限ループする可能性を修正。

x264r1017

git-id : e4c4568d4f0f234e942b4855391aea7224c41eb6

Date: Mon Nov 3 22:59:49 2008 -0800

Encoder_reconfig: esa/tesa can only be enabled if they were on to begin with

Bug report by kemuri-_9.

Encoder_reconfig: esa/tesaは開始時にONである場合のみ有効にできる。

kemuri-_9によるバグレポート。

x264r1016

git-id : dbc5ef040b1f8a83e7491dc8a2fc8943b1e20c07

Date: Thu Oct 30 00:47:09 2008 -0700

Fix bug in hadamard_ac SSE assembly

Some extreme inputs could cause overflows.

hadamard_acのSSEアセンブリのバグフィックス。

極端な入力でオーバーフローを起こす可能性があった。

x264r1015

git-id : a0a1bfac7f4a09159f6ef2bf13fb69548b6c5a02

Date: Tue Oct 28 20:35:15 2008 -0700

Full sub8x8 RD mode decision

Small speed penalty with p4x4 enabled, but significant quality gain at subme >= 6

As before, gain is proportional to the amount of p4x4 actually useful in a given input at the given bitrate.

完全なsub8x8のRDモード決定。

p4x4が有効な場合スピードに若干の悪影響だが、subme>=6で有意に質が向上する。

以前と同様、利得は与えられた入力、ビットレートにおいて実際に有効なp4x4の量に比例する。

x264r1014

git-id : aa40e41abae051191117ae670cadd9cd50f66b6f

Date: Sat Oct 25 01:50:08 2008 -0700

Optimize CABAC bit cost calculation

Speed up cabac mvd and add new precalculated transition/entropy table.

Add "noup" function for cabac operations to not update the state table when it isn't necessary.

1-3% faster macroblock_size_cabac.

Cosmetics

CABACのビット消費計算を最適化。

CABACのmvdを高速化し新たな事前計算済みの変換/エントロピー表を追加。

不要時にはステータステーブルを更新しない"noup"機能をCABAC処理に追加。

macroblock_size_cabacが1-3%高速化。

その他コスメティックス。

x264r1013

git-id : d7df1a477b5e0e851d206e8c25da0b275ae0b7cc

Date: Thu Oct 23 22:36:11 2008 -0700

Replace "git-command" with "git command" in version.sh for git 1.6 support

git1.6のサポートのためversion.sh中の"git-command"を"git command"に置換。

x264r1012

git-id : 990274cd5fd276bb26ac0fa13fc9bc1cbcf7acbc

Date: Thu Oct 23 13:45:04 2008 -0700

Add assembly version of CAVLC 8x8dct interleave

Faster CAVLC encoding and RDO with 8x8dct

CAVLC 8x8dctインターリーブのアセンブラバージョンを追加。

8x8dctを使用するRDOとCAVLCエンコードを高速化。

x264r1011

git-id : 86a0fe50c6e369d6dacac5b992febb4bd09de85d

Date: Wed Oct 22 15:55:30 2008 -0700

Add support for psy-rd/trellis to encoder_reconfig

encoder_reconfigにpsy-rd/trellisのサポートを追加。

x264r1010

git-id : 4c78f091e625e87b8f82c567af81969c2fd3e671

Date: Wed Oct 22 15:00:43 2008 -0700

Fix Darwin speed regression

Darwinでのスピードの退行を修正。

x264r1009

git-id : 8ca555ef691e20d4eb429b45e178f4c0108b607d

Date: Wed Oct 22 14:48:47 2008 -0700

Further improve prediction of bitrate and VBV in threaded mode

スレッド使用時のVBVとビットレートの予測をさらに改善。

x264r1008

git-id : 8fa0bf3d56fa1b02a44f8ee0f673ea998294bd7e

Date: Wed Oct 22 13:37:09 2008 -0700

Sub-8x8 Qpel-RD in P-frames

Improves quality when using p8x4/p4x8/p4x4 subpartitions

Benefit is proportional to how many sub-8x8 partitions are used; helps most at high bitrates and low resolutions.

Pフレームにおけるsub8x8 Qpel-RD。

p8x4/p4x8/p4x4サブパーティション使用時の質を向上。

利得はsub8x8パーティションの使用量に比例する:高ビットレートかつ低解像度時に最も効く。

x264r1007

git-id : d0add77f5f084253202747266f85daa65f7fc9cc

Date: Wed Oct 22 02:20:06 2008 -0700

Faster qpel-RD

3-4% faster qpel-RD; avoid re-checking bmv/pmv during the hex search.

qpel-RDを高速化。

qpel-RDが3-4%高速化:hex検索時のbmv/pmvの再チェックを回避。

x264r1006

git-id : f451563f93fad8972c0e9b788b30799e777e913a

Date: Wed Oct 22 00:37:00 2008 -0700

Some minor optimizations in RD refinement

Don't write b subpartition in CABAC RDO

Calculate nonzero count in i4x4 CAVLC RDO

RD refinementの些末な最適化。

CABAC RDOにおいてBサブパーティションを書き込まない。

i4x4のCAVLC RDOにおいて非ゼロの個数を計算。

x264r1005

git-id : 84ede33bec64332cc4bc5da1106c53f3cffa919b

Date: Tue Oct 21 20:17:18 2008 -0700

Faster deblocking when p4x4 isn't used

Most of the MV checks can be skipped, resulting in faster strength calculation

p4x4不使用の場合のデブロッキングを高速化。

MVチェックのほとんどをスキップ可能で、その結果、高速なstrength計算になる。

x264r1004

git-id : ce0b11099e5fa920b8d1bc39389ae9373f921358

Date: Tue Oct 21 19:38:21 2008 -0700

Print profile and level information upon starting encode

Previously level was only printed as part of autodetect, and only in verbose mode.

エンコード開始時にプロファイルとレベルの情報を表示。

これまでは自動検出の一部としてのみ、かつverboseモード時だけレベルが表示されていた。

x264r1003

git-id : 296b39dd863ea90a12d8a52848d1135e387a28f3

Date: Tue Oct 21 17:10:46 2008 -0700

Fix possible crash in trellis at very low QPs

非常に低いQP時にtrellisでクラッシュする可能性を修正。

x264r1002

git-id : f5da8110606c1bdb8f3a194f11574db28855415e

Date: Tue Oct 21 14:59:07 2008 -0700

Add assembly versions of decimate_score

3-7x faster decimation, 1-3% faster overall

decimate_scoreのアセンブラバージョンを追加。

decimationを3-7倍高速化、全体で1-3%の高速化。

x264r1001

git-id : 6d9ef8ad39b0bfa5df0c1305e91ae932aad4997e

Date: Sat Oct 18 03:40:59 2008 -0700

Fix typo in subme8/9 lossless qpel-RD

Slightly improves compression.

subme8/9のロスレスqpel-RDでのタイプミスを修正。

圧縮率をわずかに改善。

x264r1000

git-id : 79194caffdc216e338674d88e50adca2f4ea8fa2

Date: Thu Oct 16 03:17:53 2008 -0700

Extend trellis to support luma/chroma DC and chroma AC

Small speed loss in trellis 1, slightly larger in trellis 2, but significant quality improvement.

luma/chroma DCとchroma ACをサポートするためtrellisを延長(拡張)。

trellis 1において少々、trellis 2において若干大きなスピードロス、ただし有意に質が向上。

最終更新時間:2009年10月24日 03時06分34秒