- AQ Stuff
- VAQ Mod. 2 Minus (BugMaster/Seraphy ; Adds negative aq-metric (?))
Support negative aq-strength and add aq-sensitivity.
Negative aq-strength is for lowering the qp of clear-cut areas like Anime.
- Faster_NAL_Encode (VFR Maniac ; Faster NAL unit encoding)
This patch is the fixed version of rev963 commit.
roozhou took it in his direct264.
FGO (Dark_Shikari, later on modified by various builders ; Film Grain Optimization. This one hasn't been officially updated ever since psy-rd got out, but it's still being used somewhere)
I added supporting of ssse3 and neon from the original.
The patch is
here.
I think weak fgo + psy-rd keep constant grain well on Japanese Anime.
- TS_CTRL (VFR Maniac ; Timescale and Timestamps control)
This patch is for direct VFR MP4/MKV/FLV output with mkv timecode file, and eliminating initial decoding delay derived from B-frames with DTS hacking.
Algorithm of removing initial delay in MP4/FLV is the following.
1) Multiply 2*number_of_delay_frames by media timescale in MP4's spec. Similar is done for DTSs and CTSs. This is for keeping NTSC timestamps in DTS.
2) Set a value smaller than the small CTS in second on DTS during output frame number is smaller than number of delay frames. (DTS hacking, this is the most important about this algorithm.)
3) Subtruct the first CTS offset from the all CTSs.
Adding EditBox is another method of removing initial delay, but some splitter don't support it. ex: MPC(Gabest's) MP4 Splitter
Thererfore, I and seraphy designed such a algorithm to create compatible AVsynced MP4 and FLV.
This algorithm is mounted seraphy's x264afs, x264gui.auo and DtsEdit, and my tc2mp4Mod. (I don't know if roozhou's direct264 uses the same algorithm.)
--b-delay <integer> Initial delay for B-frames in MP4/FLV [1]
- -1: Insert EditBox
- 0: Eliminate initial delay
- 1: Leave initial delay
Concrete example about b-frames=1 and b-byramid=none:
b-delay=1 (default)
timeScale=30000
I1: DTS=0,CTSOffset=1001,CTS=1001, timecode=33.367
P1: DTS=1001,CTSOffset=2002,CTS=3003, timecodes=100.100
b1: DTS=2002,CTSOffset=0,CTS=2002, timecode=66.733
P2: DTS=3003,CTSOffset=1001,CTS=4004, timecode=133.467
b-delay=0
timeScale = 60000
I1: DTS=0,CTSOffset=0,CTS=0, timecode=0.000
P1: DTS=1001,CTSOffset=3003,CTS=4004, timecode=66.733
b1: DTS=2002,CTSOffset=0,CTS=2002, timecode=33.367
P2: DTS=4004,CTSOffset=2002,CTS=6006, timecodes=100.100
I'll add supporting of complete VFR VBV to this patch, but I don't have sufficient knowledge of x264 ratecontrol yet.
Edit: Updated a link of FGO patch.