Home > encode, x264, x264-bin > x264 rev2074+602 patched build [ win, x86 & x64, tMod (& tMod+10bit/MixAQ/OreAQ), hacked bit depth conversion/dithering ]

x264 rev2074+602 patched build [ win, x86 & x64, tMod (& tMod+10bit/MixAQ/OreAQ), hacked bit depth conversion/dithering ]

25th August 2011, Thursday Leave a comment Go to comments

——– Attention on high bit depth usage ——–

Several days before madshi pointed out that x264’s internal low bit depth to high bit depth conversion and high bit depth to low bit depth dithering is incorrect. The present converting and dithering algorithms seem to work correctly on full range sources of RGB and Y plane of YUV. Till now neither x264 nor swscale has a correct chroma upscaling algorithm for full range sources, and I didn’t make one. Anyway, the converting algorithm of x264 is absolutely wrong on limited range sources, according to ITU-R 601/709’s standard, in which the conversion should be done by simply appending LSBs of zero to the source. The dithering algorithm may also causes overflow on limited range source. So I hacked on my tMod builds to solve this issue.

When the input and output bit depth are the same, no conversion or dithering will be apllied. Otherwise when used with “–fullrange on”, the conversion and dithering will be exactly the same with x264’s original algorithm, which is still not reliable for YUV sources, so it is recommanded to use your own reliable approaches to convert those sources by yourself before passing them to my x264 builds; if used without “–fullrange on”, the conversion will be done by shifting according to the standard, and the dithering algorithm is fixed as well, so that the result should be absolutely right.

astrataro@gmail.com

——————–

Use win32thread and fprofiled:

plain-core/tMod/tMod-10bit/tMod+MixAQ/tMod+OreAQ:
x264_rev2074+602_tMod.7z

Patches:
–—––—–Download(L-Smash not included): patches-rev2074.7z
01-L-Smash(including qtaac in x86 build);
02-Film Grain Optimization;
03-Fade Compensation;
04-Remove stats before renaming;
05-No opts;
06-Demuxer Thread;
07-Auto VBV Settings;
08-Avi output;
09-Filter: hqdn3d/pad/vflip/yadif;
10-Logger;
11-Encode Time;
12-Force level;
13-Cosmetic;
14-Print video info lavf ffms;
15-Enable lto Ofast;
16-AviSynth 16bit hack;
17-Skip bit depth filter;
18-Fix bit depth conversion and dithering;
19-BugMaster’s new aq-mode 3;
20-1-MixAQ-core(only in tMod+MixAQ version, remove AQDebug)
20-2-OreAQ-core(only in tMod+OreAQ version, remove AQDebug)

Compiler:
mingw-gcc 4.6.1

Libpack info:
libav: git-b9630bc/r29802
ffms2: svn-r527
lame 3.98.4
opencore-amr: git-08d6986/r178
vo-aacenc: git-2b895f0/r58
vo-amrwbenc: git-b7fcee9/r38
faac 1.28
qtsdk 7.3

MixAQ’s diff(AQDebug removed, also included in the patch package above):
MixAQ-core-Taro.diff
OreAQ’s diff(AQDebug removed, also included in the patch package above):
OreAQ-core-Taro.diff

Categories: encode, x264, x264-bin
  1. hh
    23rd September 2011, Friday at 02,34pm UTC

    Can you post a patched x264 build?

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: