-
Notifications
You must be signed in to change notification settings - Fork 10
modified avs4x264
astrataro/avs4x26x
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
avs4x26x - Modified avs4x264 The code is based on on AVS-input from x264 (http://www.videolan.org/developers/x264.html). You can use this software to encode videos using the 32-bit version of Avisynth with the 64-bit version of x264 or x265 under Windows. The x26x executable needs to be named x264_64.exe or x265 and placed in the same folder as this program. Otherwise you need --x26x-binary "x26x_path" or -L "x26x_path" to define the pach of x26x binary. Example: avs4x26x.exe --x26x-binary "C:\x264-abc.exe" -o out.264 in.avs avs4x26x v0.10: Modified by 06_taro ( [email protected] ). Modifications: -- When x26x's parameter "input-depth" is set and is not equal to 8, divide "width" by 2. This makes faked 16-bit avs output, i.e., MSB and LSB field interleaved clip, be treated correctly by x26x. If "input-depth" is not defined or equals to 8, avs4x26x acts in the same way as original avs4x264. -- Print full command-line piped to x26x.exe to screen, prefixed by "avs4x26x [info]:". -- Make x264_64.exe path changeable. The path of x26x binary can be set by --x26x-binary "x26x_path" or -L "x26x_path". If custom path is not set, default path "x264_64.exe" will be used in normal case, while if output file extension is *.265/.h265/.hevc, "x265" will be launched. -- Directly output i422/i444 with AviSynth 2.6 csp YV16/YV24. -- Show help info when running with no options. -- Improve capability with more styles of parameters in x26x. E.g., --tcfile-in="timecode.txt", --input-depth=16, --x26x-binary="x264", -L=x264 and -Lx265. -- Do not add --input-res/--fps/--frames/--input-csp if already defined. -- Correct number of frames to be handled when --frames is defined. -- Add "--seek-mode" to decide use "fast" seek mode or "safe" seek mode when has "--seek". Default is "fast". -- "fast" mode is similar to x26x's internal method of avs demuxer: skip frames until the frame --seek indicates. However, when used with --qpfile/--tcfile-in, it won't skip but add a "FreezeFrame(0, seek, seek)" to avs script to actually skip the process of those frames. I have to play this trick because x26x regards qpfile or tcfile-in as qpfiles or timecodes of input files, not output files, so the frame numbers of input piped raw ( can be linearly seeked only in x26x ) has to be left untouched. -- "safe" mode uses a safer but slower method: delivering every untouched frame to x26x. When the process of frames before "--seek" frame is heavy, the "useless" running time of processing those frames will be much longer than "fast" mode, but the result is safer for scripts like TDecimate(mode=3), which can only be seeked in a linear way. -- Add "--timebase" when using "--tcfile-in". -- Correct framerate to proper NTSC fraction if applicable. -- Support direct .d2v/.dga/.dgi input, plus .vpy input with either VapourSource(VSImport) or vfw interface(AVISource/HBVFWSource), and some media file input such as .avi/.mkv/.mp4/.m2ts/etc. -- Support AviSynth+. -- Support x262/x265. However, the x265 style "x265 <infile> <outfile>" is not supported and probably never will. You need to use -o or --output before outfile. Compiling: with gcc 4.6.0+: gcc avs4x26x.c -s -Ofast -oavs4x26x -Wl,--large-address-aware with old versions: gcc avs4x26x.c -s -O3 -ffast-math -oavs4x26x -Wl,--large-address-aware