Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Video Encoding > MPEG-4 AVC / H.264

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old 29th September 2011, 20:31   #1  |  Link
06_taro
soy sauce buyer
 
Join Date: Mar 2010
Location: United Kingdom
Posts: 164
avs4x26x v0.10.0 ( support high-bitdepth avs & customized x264/x265 path & avs+ )

Piping faked 16-bit avs output ( MSB and LSB field interleaved clip ) to x264_64.exe using original avs4x264 results in wrong resolution and video. So I modified it to behave in a correct way. It is a command line tool to be used with x264 / x265, and you can also safely rename the executive file to "avs4x264.exe" and replace the original one in MeGUI's tools/x264 folder.

Download links ( source codes are here) :
avs4x26x-0.10.0-1-git-r71(db90333).7z

Modifications:
Code:
-- 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.
Code:
avs4x26x - simple AviSynth pipe tool for x262/x264/x265
Version: 0.10.0.70, built on Aug 28 2014, 15:19:31

Usage: avs4x26x [avs4x26x options] [x26x options] -o <output> <input>

Supported input formats:
     .avs
     .d2v: requires DGDecode.dll
     .dga: requires DGAVCDecode.dll
     .dgi: requires DGAVCDecodeDI.dll, DGDecodeNV.dll or DGDecodeIM.dll according to dgi file
     .vpy: try to use VSImport -> AVISource -> HBVFWSource
           (VSImport requires VapourSource.dll)
           (HBVFWSource requires HBVFWSource.dll, and will force input-depth=16)
     .avi: try to use AVISource -> LWLibavVideoSource -> FFVideoSource(normal)
                      -> DSS2 -> DirectShowSource
     .mp4/.m4v/.mov/.3gp/.3g2/.qt:
           try to use LSMASHVideoSource -> LWLibavVideoSource
                      -> FFVideoSource(normal) -> DSS2 -> DirectShowSource
     .m2ts/.mpeg/.vob/.m2v/.mpg/.ogm/.ogv/.ts/.tp/.ps:
           try to use LWLibavVideoSource
                      -> FFVideoSource(demuxer="lavf" and seekmode=-1)
                      -> DSS2 -> DirectShowSource
           seek-mode will be forced to "safe" for these formats if ffms is used
     .mkv/.flv/.webm:
           try to use LWLibavVideoSource -> FFVideoSource(normal) -> DSS2
                      -> DirectShowSource
     .rmvb/.divx/.wmv/.wmp/.asf/.rm/.wm:
           try to use DSS2 -> DirectShowSource
     (FFVideoSource, LWLibavVideoSource, LSMASHVideoSource, DSS2, DirectShowSource
           requires ffms2.dll, LSMASHSource.dll, avss.dll, DirectShowSource.dll)

Options:
 -L, --x26x-binary <file>   User defined x26x binary path.
                                Default: "x265" if output file is *.h265/.265/.hevc
                                         otherwise "x264_64"
     --seek-mode <string>   Set seek mode when using --seek. [Default="fast"]
                                - fast: Skip process of frames before seek number as x26x does if no
                                        --tcfile-in/--qpfile specified;
                                        otherwise freeze frames before seek number to skip process, 
                                        but keep frame number as-is.
                                        ( x26x treats tcfile-in/qpfile as timecodes/qpfile of input 
                                        video, not output video )
                                        Normally safe enough for randomly seekable AviSynth scripts.
                                        May break scripts which can only be linearly seeked, such as
                                        TDecimate(mode=3)
                                - safe: Process and deliver every frame to x26x.
                                        Should give accurate result with every AviSynth script.
                                        Significantly slower when the process is heavy.
Code:
avs4x26x.exe --x26x-binary "C:\x264_64-10bit.exe" --output "out.264" --input-depth 16 "in.avs"
avs4x26x input.avs -o output.h265
avs4x26x -o output.h265 input.avs --input-depth 16
Attached Files
File Type: 7z avs4x264mod-0.9.0-git-r62(691c5c4).7z (14.8 KB, 768 views)
File Type: 7z avs4x264mod-0.9.1-git-r64(105c53a).7z (25.6 KB, 3422 views)
File Type: 7z avs4x26x-0.10.0-git-r70(28fdd98).7z (28.1 KB, 388 views)
File Type: 7z avs4x26x-0.10.0-1-git-r71(db90333).7z (28.3 KB, 1191 views)

Last edited by 06_taro; 28th January 2015 at 10:51. Reason: avs4x26x-0.10.0-1-git-r71(db90333).7z
06_taro is offline   Reply With Quote
 

Tags
avisynth+, avs4x264, avs4x265, avs4x26x, x264, x265

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.