Home > encode, x264, x264-bin > x264 rev2135+631 tMod ( Merry Xmas and happy new year! )

x264 rev2135+631 tMod ( Merry Xmas and happy new year! )

28th December 2011, Wednesday Leave a comment Go to comments

Opened a repo on GitHub: https://github.com/astrataro/x264_tMod.

Use win32thread and fprofiled:


Latest updates:
– Update x264 to git-devel rev2135, as it seems to be even more stable than rev2120;
– Change version head ( I don’t want to stash revision number of my local changes, but revision will be largely different from lsmash’s repo if I don’t hack on lsmash’s original version check, just like vfr_maniac’s Dangerous build );
Add support for unicode characters in file names, using the method LoRd_MuldeR provided. Personally I don’t like this method as all parameters are wrapped in a strange behavior, but anyway, it works; ( 29 Dec 2011, Removed, as it broke non-ASCII charaters in AviSynth script. )
– Remove 422/444 builds. No one cares about 422/444. Use *-all builds if you do;
– Add back “Color matrix detection with ffms and lavf input” patch.

—– How to load subtitles internally –—

These builds ported subtitles video-filter from direct264, and are able to render subtitles internally.
To render subtitles in this way, demuxer must be libav/ffms. Raw/avs demuxer is not supported for now. And VSFilter.dll(for 32-bit builds) or VSFilter64.dll(for 64-bit builds) must be placed together with the x264 binary or in the system path. Do NOT change filenames of them.
Rendering multiple subtitles is possible. Now you can render at most 16 subtitles simultaneously by calling –sub for each subtitles. Note that the later calling of –sub overlays the subtitles after previous calling of –sub, so if several subtitles are in the same position, the last one should overlays on all those rendered before.
The VSFilters are modified to add custom csri API. Patches can be found in svn of direct264 project. Therefore do NOT replace them with other builds. BT.709/BT.601 is auto detected according to video resolution. For HD videos BT.709 is used and for SD videos BT.601 is used.
Both 8-bit and 10-bit builds can use subtitles rendering, but rendering always takes place in 8-bit colorspaces.
The commandline example to render subtitles:
x264_32_tMod-8bit-420.exe –sub “subtitles-1.ass” –sub “subtitles-2.ass” –sub “subtitles-3.ass” –video-filter subtitles[/Other video filters] [Other x264 options] –output “output.mp4″ “input.mkv”

——– 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.




–—––—–Download(L-Smash not included): patches-rev2135.7znmm-hd-Mirror

00:L-Smash(including audio encoding);
01:More detailed version head (new!!)
02:Add back “touhou” tune
03:Film Grain Optimization
04:Fade Compensation
05:Remove stats before renaming
06:Add a parameter to set level of writing options in User Data Unregistered SEI
07:Utilize internal threading in lavf/ffms
08:Auto VBV settings
09:AVI output
10:filters hqdn3d pad vflip yadif patch
11:Log file
12:Encoding time
13:Level force
14:Profile force
16:New experimental AQ mode (modification of Auto-variance AQ)
17:Correct the limited-range 8->10 conversion algorithm Now
18:Print video info with lavf/ffms demuxer
19:lto & Ofast
20:AviSynth 16bit hack
21:Skip bit depth filter when possible
22:Video filter: subtitles
23:Detect color matrix with lavf/ffms demuxer (updated!!)
24:Fix AviSynth color space converting matrix (new!!)
25:Win32 utf-8 hack (new!!) (Removed, as it broke non-ASCII charaters in AviSynth script.)
26-1:MixAQ-core;(only in tMod+MixAQ version, remove AQDebug)
26-2:OreAQ-core.(only in tMod+OreAQ version, remove AQDebug)

mingw-gcc 4.6.2

Libpack info:
libav r31466 git-723c35f
ffms svn-r597
VSFilter svn-r3698 (MPC-HC)
lame 3.99-3
libvorbis-aotuv_b6.03 (libvorbis-1.3.2)
opencore-amr-0.1.2 r178 git-08d6986
vo-aacenc v0.1.1-7-git-07931e3
vo-amrwbenc v0.1.1-6-git-dfc1623
aacplus 2.0.2
faac 1.28
qtsdk 7.3

My other tools list ( including some of the x264 builds ) : MediaFirenmm-hd

Categories: encode, x264, x264-bin
  1. No comments yet.
  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: