Replace High 4:4:4 profile lossless with High 4:4:4 Predictive.
authorJason Garrett-Glaser <darkshikari@gmail.com>
Sat, 27 Sep 2008 23:37:27 +0000 (16:37 -0700)
committerJason Garrett-Glaser <darkshikari@gmail.com>
Sun, 28 Sep 2008 10:34:44 +0000 (03:34 -0700)
commitb35a044b95c7eab2c91f55a3ac4100ca26a29d92
tree20a9d0e53de52706fca7788267dc6cb8e552b0db
parent37269f42fca115f2083e01135f7bab0b4e9fce3b
Replace High 4:4:4 profile lossless with High 4:4:4 Predictive.
This improves lossless compression by about 4-25% depending on source.
The benefit is generally higher for intra-only compression.
Also add support for 8x8dct and i8x8 blocks in lossless mode; this improves compression very slightly.
In some rare cases 8x8dct can hurt compression in lossless mode, but its usually helpful, albeit marginally.
Note that 8x8dct is only available with CABAC as it is never useful with CAVLC.
High 4:4:4 Predictive replaced the previous profile in a 2007 revision to the H.264 standard.
The only known compliant decoder for this profile is the latest version of CoreAVC.
As I write this, JM does not actually correctly decode this profile.
Hopefully this lack of support will soon change with this commit, as x264 will be (to my knowledge) the first compliant encoder.
13 files changed:
common/common.h
common/dct.c
common/dct.h
common/macroblock.c
common/mc.c
common/mc.h
common/set.h
common/x86/mc-c.c
encoder/analyse.c
encoder/encoder.c
encoder/macroblock.c
encoder/macroblock.h
encoder/set.c