LSMASHSource
m (→Archived Downloads: remove things) |
(→Filters) |
||
(14 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{ | + | {{FilterCat5|External_filters|Source_filters|Plugins|Plugins_x64|Deep_color_tools}} |
{{Filter3 | {{Filter3 | ||
− | | {{Author/VFR-maniac}} | + | |1={{Author/VFR-maniac}}, HolyWu |
− | | | + | |2=20200728 |
− | | {{Plugin/LSMASHSource}} | + | |3={{Plugin/LSMASHSource}} |
− | | Source filters | + | |4=Source filters |
− | | [http://en.wikipedia.org/wiki/ISC_license ISC] / binaries are GPL or LGPL | + | |5=[http://en.wikipedia.org/wiki/ISC_license ISC] / binaries are GPL or LGPL |
|6=[http://forum.doom9.org/showthread.php?t=167435 Doom9 Thread]}} | |6=[http://forum.doom9.org/showthread.php?t=167435 Doom9 Thread]}} | ||
<br> | <br> | ||
Line 13: | Line 13: | ||
<br> | <br> | ||
== Requirements == | == Requirements == | ||
− | * [http:// | + | * [x86]: [[AviSynth+]] or [http://forum.doom9.org/showthread.php?t=168764 AviSynth 2.6] |
+ | * [x64]: [[AviSynth+]] | ||
* Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | * Supported color formats: [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | ||
− | + | **AviSynth+: all [[planar]] formats (8/10/12/14/16-bit, Y, YUV(A), and RGB(A) are supported, also [[RGB48]] and [[RGB64]] | |
− | * [ | + | |
− | + | ||
− | + | ||
<br> | <br> | ||
Line 26: | Line 24: | ||
{{PluginFilterRow|LSMASHSource|LSMASHAudioSource| | {{PluginFilterRow|LSMASHSource|LSMASHAudioSource| | ||
Uses libavcodec as an audio decoder and L-SMASH as a demuxer. Recommended for MP4, MOV, [http://en.wikipedia.org/wiki/ISO_base_media_file_format ISO Base Media] and its derived file formats.<br> | Uses libavcodec as an audio decoder and L-SMASH as a demuxer. Recommended for MP4, MOV, [http://en.wikipedia.org/wiki/ISO_base_media_file_format ISO Base Media] and its derived file formats.<br> | ||
− | One advantage over ''' | + | One advantage over '''LWLibavAudioSource''' and [[FFmpegSource]] is that it doesn't need to create an index file for its supported formats. |
| | | | ||
}} | }} | ||
{{PluginFilterRow|LSMASHSource|LSMASHVideoSource| | {{PluginFilterRow|LSMASHSource|LSMASHVideoSource| | ||
Uses libavcodec as a video decoder and L-SMASH as a demuxer. Recommended for MP4, MOV, [http://en.wikipedia.org/wiki/ISO_base_media_file_format ISO Base Media] and its derived file formats.<br> | Uses libavcodec as a video decoder and L-SMASH as a demuxer. Recommended for MP4, MOV, [http://en.wikipedia.org/wiki/ISO_base_media_file_format ISO Base Media] and its derived file formats.<br> | ||
− | One advantage over ''' | + | One advantage over '''LWLibavVideoSource''' and [[FFmpegSource]] is that it doesn't need to create an index file for its supported formats. |
| [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | | [[RGB24]], [[RGB32]], [[YUY2]], [[Y8]], [[YV12]], [[YV16]], [[YV24]], [[YV411]] | ||
}} | }} | ||
Line 45: | Line 43: | ||
|} | |} | ||
<br> | <br> | ||
+ | |||
== Examples == | == Examples == | ||
* Combining '''LSMASHVideoSource''' + '''LSMASHAudioSource''' | * Combining '''LSMASHVideoSource''' + '''LSMASHAudioSource''' | ||
Line 52: | Line 51: | ||
## @ atrack - audio track number. Default auto. If -2, ignore audio. | ## @ atrack - audio track number. Default auto. If -2, ignore audio. | ||
## @ fpsnum, fpsden - framerate. Default auto. | ## @ fpsnum, fpsden - framerate. Default auto. | ||
− | |||
− | |||
## @ format - force specified output pixel format. Default auto. | ## @ format - force specified output pixel format. Default auto. | ||
## (see [[LSMASHSource/LSMASHVideoSource|documentation]] for valid color formats) | ## (see [[LSMASHSource/LSMASHVideoSource|documentation]] for valid color formats) | ||
− | ## | + | ## |
## | ## | ||
function LSmashSource2(string path, int "atrack", | function LSmashSource2(string path, int "atrack", | ||
\ int "fpsnum", int "fpsden", | \ int "fpsnum", int "fpsden", | ||
− | \ string "format | + | \ string "format") |
{ | { | ||
atrack = Default(atrack, 0) | atrack = Default(atrack, 0) | ||
fpsnum = Default(fpsnum, 0) | fpsnum = Default(fpsnum, 0) | ||
fpsden = Default(fpsden, 1) | fpsden = Default(fpsden, 1) | ||
− | |||
format = Default(format, "") | format = Default(format, "") | ||
− | |||
video = LSMASHVideoSource(path, | video = LSMASHVideoSource(path, | ||
\ fpsnum=fpsnum, fpsden=fpsden, | \ fpsnum=fpsnum, fpsden=fpsden, | ||
− | \ format=format | + | \ format=format) |
return (atrack==-2) ? video: AudioDub(video, | return (atrack==-2) ? video: AudioDub(video, | ||
\ LSMASHAudioSource(path, track=atrack)) | \ LSMASHAudioSource(path, track=atrack)) | ||
Line 83: | Line 78: | ||
## @ atrack - audio track number. Default auto. If -2, ignore audio. | ## @ atrack - audio track number. Default auto. If -2, ignore audio. | ||
## @ fpsnum, fpsden - framerate. Default auto. | ## @ fpsnum, fpsden - framerate. Default auto. | ||
− | |||
− | |||
## @ format - force specified output pixel format. Default auto. | ## @ format - force specified output pixel format. Default auto. | ||
## (see [[LSMASHSource/LWLibavVideoSource|documentation]] for valid color formats) | ## (see [[LSMASHSource/LWLibavVideoSource|documentation]] for valid color formats) | ||
− | |||
## @ cache - if true (the default), create an index file. | ## @ cache - if true (the default), create an index file. | ||
+ | ## | ||
## | ## | ||
function LibavSource2(string path, int "atrack", | function LibavSource2(string path, int "atrack", | ||
\ int "fpsnum", int "fpsden", | \ int "fpsnum", int "fpsden", | ||
− | \ string "format | + | \ string "format", bool "cache") |
{ | { | ||
atrack = Default(atrack, -1) | atrack = Default(atrack, -1) | ||
fpsnum = Default(fpsnum, 0) | fpsnum = Default(fpsnum, 0) | ||
fpsden = Default(fpsden, 1) | fpsden = Default(fpsden, 1) | ||
− | |||
cache = Default(cache, true) | cache = Default(cache, true) | ||
format = Default(format, "") | format = Default(format, "") | ||
− | |||
video = LWLibavVideoSource(path, | video = LWLibavVideoSource(path, | ||
\ fpsnum=fpsnum, fpsden=fpsden, format=format, | \ fpsnum=fpsnum, fpsden=fpsden, format=format, | ||
− | \ | + | \ cache=cache) |
return (atrack==-2) ? video: AudioDub(video, | return (atrack==-2) ? video: AudioDub(video, | ||
\ LWLibavAudioSource(path, stream_index=atrack, cache=cache)) | \ LWLibavAudioSource(path, stream_index=atrack, cache=cache)) | ||
Line 111: | Line 102: | ||
</div> | </div> | ||
<br> | <br> | ||
− | == | + | |
+ | == Changelog == | ||
<span style="color:red">'''Note:'''</span> the following versions are dual interface, they support both AviSynth and [[VapourSynth]]. Also, it now supports [[Avisynthplus_color_formats|native high bit-depth]] in [[AviSynth+]], the <tt>"stacked"</tt> parameter has been removed. Starting with r935+26-20190811, parameter <tt>"cachefile"</tt> has been added to both LWLibavAudioSource and LWLibavVideoSource. | <span style="color:red">'''Note:'''</span> the following versions are dual interface, they support both AviSynth and [[VapourSynth]]. Also, it now supports [[Avisynthplus_color_formats|native high bit-depth]] in [[AviSynth+]], the <tt>"stacked"</tt> parameter has been removed. Starting with r935+26-20190811, parameter <tt>"cachefile"</tt> has been added to both LWLibavAudioSource and LWLibavVideoSource. | ||
Line 118: | Line 110: | ||
|- | |- | ||
!class="unsortable" width=12%| Version | !class="unsortable" width=12%| Version | ||
− | !class="unsortable" | + | !class="unsortable"| Changes |
− | + | |- | |
+ | |20210728 | ||
+ | | | ||
+ | *LWLibavVideoSource/LWLibavAudioSource/LWLibavSource: Add argument cachedir. (AkarinVS) | ||
+ | *LWLibavVideoSource/LWLibavSource: Respect mpeg2 soft pulldown flag in more cases. (AkarinVS) | ||
+ | *LWLibavVideoSource/LWLibavSource: If repeat=1/true and the input video requested repeat, but the source filter is somehow unable to obey it, fail explicitly instead of silently returning a VFR clip with a constant (but wrong) fps. To revert to the previous behavior, set repeat=2. (AkarinVS) | ||
+ | *VapourSynth: Add a lsmas.Version() function to retrieve the version info of the plugin. (AkarinVS) | ||
+ | *LSMASHVideoSource/LWLibavVideoSource/LibavSMASHSource/LWLibavSource: Improve decoding of m2ts files. (AkarinVS) | ||
+ | *LSMASHAudioSource/LWLibavAudioSource: Add argument drc_scale. | ||
+ | |||
+ | Build: | ||
+ | *FFmpeg 4.4@de1132a; | ||
+ | *dav1d 0.9.0; | ||
+ | *nv-codec-headers 11.0.10.2; | ||
+ | *mfx_dispatch 1.35; | ||
+ | *xxHash 0.8.0; | ||
+ | *l-smash@18a9ed2. | ||
+ | |- | ||
+ | |20210423 | ||
+ | | | ||
+ | *LibavSMASH: Set frame properties for AviSynth+. (Asd-g) | ||
+ | *LibavSMASH: Export AviSynth variables FFSAR_NUM, FFSAR_DEN, FFSAR. (Asd-g) | ||
+ | *AviSynth: Fix reversed value of frame properties _DurationNum and _DurationDen. | ||
+ | *Fix interlaced H.264 seeking issue in transport stream again in an informal way. Sometimes it works, but not always. An interesting observation is that remuxing the stream into mkv by FFmpeg may cause seeking issue to appear, while it does not happen when remuxed by MKVToolNix. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1941347#post1941347 HolyWu] | ||
+ | |- | ||
+ | |20210421 | ||
+ | | | ||
+ | *Update to FFmpeg 4.4. | ||
+ | *Update to dav1d 0.8.2. | ||
+ | *Update to nv-codec-headers 11.0.10.1. | ||
+ | *Update mfx_dispatch to API 1.35. | ||
+ | *Update to xxHash 0.8.0. | ||
+ | *LWLibav: Set frame properties for AviSynth+. (Asd-g) | ||
+ | *LWLibav: Export AviSynth variables FFSAR_NUM, FFSAR_DEN, FFSAR. (Asd-g) | ||
+ | *lwindex: Fix crash when opening remote files. (AkarinVS) | ||
+ | *lwindex: Hash value in FileHash field is now 64 bits long. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1941178#post1941178 HolyWu] | ||
+ | |- | ||
+ | |20200728 | ||
+ | | | ||
+ | *VapourSynth: Fix alpha support. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1919597#post1919597 HolyWu] | ||
+ | |- | ||
+ | |20200726 | ||
+ | | | ||
+ | *Update to FFmpeg 4.3.1. | ||
+ | *Update to dav1d 0.7.1. | ||
+ | *Update to libvpx 1.9.0-rc1. | ||
+ | *Update to nv-codec-headers 10.0.26.0. | ||
+ | *VapourSynth: Add support for YUVA, RGBA, and GBRA formats. The alpha channel is automatically outputted as a second clip. | ||
+ | *AviSynth: Add support for YUVA and GBR(A) formats. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1919446#post1919446 HolyWu] | ||
+ | |- | ||
+ | |20200531 | ||
+ | | | ||
+ | *Update to FFmpeg-20200530-4391289. | ||
+ | *Update to dav1d 0.7.0. | ||
+ | *AviSynth: Properly handle libdir in meson and plugin's entry point for non-Windows. | ||
+ | *VideoSource: Try to fix more dropped frame cases in H.264 stream. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1914313#post1914313 HolyWu] | ||
+ | |- | ||
+ | |20200322 | ||
+ | | | ||
+ | *Update to FFmpeg-20200322-ea46b45. | ||
+ | *Update to dav1d 0.6.0. | ||
+ | *AviSynth: Add Meson build system and fix compilation for non-Windows. | ||
+ | *lwindex: Fix incorrect frame length being written into index file when decoding WMAv2. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1904692#post1904692 HolyWu] | ||
+ | |- | ||
+ | |20200207 | ||
+ | | | ||
+ | *Update to FFmpeg-20200207-343ccfc. | ||
+ | *LWLibav: Now only certain frames are marked as interlaced internally when enable repeat control. Although it had no effect on the decoded pictures whether the stream contain repeat flags or not, it did affect the value of frame property _FieldBased in VapourSynth for streams containing repeat flags. | ||
+ | *LWLibav: Improve the logic of frame rate deduction. | ||
+ | *LWLibav: Restore the functionality of opening index file as source. | ||
+ | *AviSynth/LibavSMASH: Fix crash when open an invalid file path. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1898940#post1898940 HolyWu] | ||
+ | |- | ||
+ | |20200118 | ||
+ | | | ||
+ | *VideoSource: Fix missing frames in some H264 streams. | ||
+ | *LWLibav: Change the default of 'repeat' to true. | ||
+ | *LWLibav: Fix VP8 decoding issue with alt-ref frames.n. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1896180#post1896180 HolyWu] | ||
+ | |- | ||
+ | |20200111 | ||
+ | | | ||
+ | *Update to FFmpeg-20200110-c4c96d5. | ||
+ | *lwindex: Don't write unneeded entries for audio streams in VideoSource. | ||
+ | *Fix access violation caused by zlib in x86 version. | ||
+ | *Changes by [https://forum.doom9.org/showthread.php?p=1895435#post1895435 HolyWu] | ||
|- | |- | ||
|20191127 | |20191127 | ||
− | |||
| | | | ||
*Fix MPEG-2 decoding issue with RFF flags. (maki-rxrz) | *Fix MPEG-2 decoding issue with RFF flags. (maki-rxrz) | ||
Line 129: | Line 211: | ||
|- | |- | ||
|20191116 | |20191116 | ||
− | |||
| | | | ||
*LibavSMASH: Fix access violation. | *LibavSMASH: Fix access violation. | ||
Line 135: | Line 216: | ||
|- | |- | ||
|20191115 | |20191115 | ||
− | |||
| | | | ||
*Update to FFmpeg-20191114-73ee53f. | *Update to FFmpeg-20191114-73ee53f. | ||
Line 147: | Line 227: | ||
|- | |- | ||
|20190917 | |20190917 | ||
− | |||
| | | | ||
*VideoSource: Add prefer_hw=3. | *VideoSource: Add prefer_hw=3. | ||
Line 153: | Line 232: | ||
|- | |- | ||
|20190914 | |20190914 | ||
− | |||
| | | | ||
*VideoSource: Fix fallback to software decoder in prefer_hw. | *VideoSource: Fix fallback to software decoder in prefer_hw. | ||
Line 160: | Line 238: | ||
|- | |- | ||
|20190910 | |20190910 | ||
− | |||
| | | | ||
*Update to FFmpeg 4.2.1. | *Update to FFmpeg 4.2.1. | ||
Line 171: | Line 248: | ||
|- | |- | ||
|20190903 | |20190903 | ||
− | |||
| | | | ||
*Fix abnormal loading time. | *Fix abnormal loading time. | ||
Line 183: | Line 259: | ||
|- | |- | ||
|r935+34-20190829 | |r935+34-20190829 | ||
− | |||
| | | | ||
*Stop indexing progress spamming | *Stop indexing progress spamming | ||
**-- Now only refresh at every 1%. | **-- Now only refresh at every 1%. | ||
− | * | + | *Changes by [https://forum.doom9.org/showthread.php?p=1883670#post1883670 MeteorRain] |
|- | |- | ||
|r935+33-20190826 | |r935+33-20190826 | ||
− | |||
| | | | ||
*I have changed the logic. If size and timestamp match, assume unchanged. If size matches but not timestamp, hash (first 1MiB + last 1MiB) and compare with recorded hash. If file is too small, only first up to 1MiB counts. Hash method is xxhash which is extremely fast. | *I have changed the logic. If size and timestamp match, assume unchanged. If size matches but not timestamp, hash (first 1MiB + last 1MiB) and compare with recorded hash. If file is too small, only first up to 1MiB counts. Hash method is xxhash which is extremely fast. | ||
*A missing hash record will not force regenerating the index file as long as size and timestamp match. | *A missing hash record will not force regenerating the index file as long as size and timestamp match. | ||
− | * | + | *Changes by [https://forum.doom9.org/showthread.php?p=1883201#post1883201 MeteorRain] |
|- | |- | ||
|r935+31-20190820 | |r935+31-20190820 | ||
− | |||
| | | | ||
*LWLibavVideoSource no longer indexes audio streams. It reduces both the file size and parsing time of the index file. LWLibavAudioSource will re-create the index file for the source file which was already indexed by LWLibavVideoSource so as to index audio streams. | *LWLibavVideoSource no longer indexes audio streams. It reduces both the file size and parsing time of the index file. LWLibavAudioSource will re-create the index file for the source file which was already indexed by LWLibavVideoSource so as to index audio streams. | ||
Line 205: | Line 278: | ||
*Automatically re-create the index file when the file size of the source file doesn't match.[https://forum.doom9.org/showthread.php?p=1882459#post1882459] | *Automatically re-create the index file when the file size of the source file doesn't match.[https://forum.doom9.org/showthread.php?p=1882459#post1882459] | ||
*Change the printing of index progress from stdout to stderr so as to avoid corrupting pipe data accidentally[https://forum.doom9.org/showthread.php?p=1882223#post1882223] | *Change the printing of index progress from stdout to stderr so as to avoid corrupting pipe data accidentally[https://forum.doom9.org/showthread.php?p=1882223#post1882223] | ||
− | * | + | *Changes by [https://forum.doom9.org/showthread.php?p=1882167#post1882167 HolyWu] |
|- | |- | ||
|r935+26-20190811 | |r935+26-20190811 | ||
− | |||
| | | | ||
* Update to FFmpeg 4.2. | * Update to FFmpeg 4.2. | ||
* Add parameter <tt>cachefile</tt>. | * Add parameter <tt>cachefile</tt>. | ||
− | * | + | * Changes by [https://forum.doom9.org/showthread.php?p=1881332#post1881332 HolyWu] |
|- | |- | ||
|r935+26-20190712 | |r935+26-20190712 | ||
− | |||
| | | | ||
*Integrated patches from multiple forks. The same patch set HolyWu used, which was copied from enccc, and one more patch to use swresample instead of avresample, which was copied from l33tmeatwad.[https://forum.doom9.org/showthread.php?p=1879042#post1879042] | *Integrated patches from multiple forks. The same patch set HolyWu used, which was copied from enccc, and one more patch to use swresample instead of avresample, which was copied from l33tmeatwad.[https://forum.doom9.org/showthread.php?p=1879042#post1879042] | ||
− | * | + | *Changes by [https://forum.doom9.org/showthread.php?p=1879029#post1879029 MeteorRain] |
|} | |} | ||
<br> | <br> | ||
Line 224: | Line 295: | ||
== External Links == | == External Links == | ||
*[http://forum.doom9.org/showthread.php?t=167435 Doom9 Forum] - LSMASHSource discussion. | *[http://forum.doom9.org/showthread.php?t=167435 Doom9 Forum] - LSMASHSource discussion. | ||
− | *[http://github.com/VFR-maniac/L-SMASH-Works/tree/master/AviSynth GitHub] - Source code repository. | + | *[http://github.com/VFR-maniac/L-SMASH-Works/tree/master/AviSynth GitHub] - Source code repository, original (VFR-maniac) |
+ | *[https://github.com/HolyWu/L-SMASH-Works GitHub] - Source code repository, updated (HolyWu) | ||
*[http://www.dropbox.com/sh/3i81ttxf028m1eh/AAABkQn4Y5w1k-toVhYLasmwa?dl=0 Dropbox] - Download repository by [http://forum.doom9.org/showpost.php?p=1689573&postcount=250 the_weirdo], <strike>also includes LSMASHSource compiled against Libav, see [http://forum.doom9.org/showpost.php?p=1693941&postcount=263 here] for more information (no longer updated).</strike> | *[http://www.dropbox.com/sh/3i81ttxf028m1eh/AAABkQn4Y5w1k-toVhYLasmwa?dl=0 Dropbox] - Download repository by [http://forum.doom9.org/showpost.php?p=1689573&postcount=250 the_weirdo], <strike>also includes LSMASHSource compiled against Libav, see [http://forum.doom9.org/showpost.php?p=1693941&postcount=263 here] for more information (no longer updated).</strike> | ||
*[http://www.mediafire.com/folder/17q7t31dib18t/LSMASH-Works MediaFire] - LSMASHSource for Windows XP [http://forum.doom9.org/showthread.php?t=167435&page=19#post1713408]. | *[http://www.mediafire.com/folder/17q7t31dib18t/LSMASH-Works MediaFire] - LSMASHSource for Windows XP [http://forum.doom9.org/showthread.php?t=167435&page=19#post1713408]. |
Latest revision as of 04:34, 7 June 2024
Abstract | |
---|---|
Author | VFR-maniac, HolyWu |
Version | 20200728 |
Download | L-SMASH-Works |
Category | Source filters |
License | ISC / binaries are GPL or LGPL |
Discussion | Doom9 Thread |
Contents |
[edit] Description
LSMASHSource is a source plugin for AviSynth/AviSynth+. It uses FFmpeg (libavcodec) to decode all supported audio and video formats. For a complete list see official FFmpeg documentation.
[edit] Requirements
- [x86]: AviSynth+ or AviSynth 2.6
- [x64]: AviSynth+
- Supported color formats: RGB24, RGB32, YUY2, Y8, YV12, YV16, YV24, YV411
[edit] Filters
Filter | Description | Color format |
---|---|---|
LSMASHAudioSource |
Uses libavcodec as an audio decoder and L-SMASH as a demuxer. Recommended for MP4, MOV, ISO Base Media and its derived file formats. |
|
LSMASHVideoSource |
Uses libavcodec as a video decoder and L-SMASH as a demuxer. Recommended for MP4, MOV, ISO Base Media and its derived file formats. |
RGB24, RGB32, YUY2, Y8, YV12, YV16, YV24, YV411 |
LWLibavAudioSource |
Uses libavcodec as an audio decoder and libavformat as a demuxer. |
|
LWLibavVideoSource |
Uses libavcodec as a video decoder and libavformat as a demuxer. |
RGB24, RGB32, YUY2, Y8, YV12, YV16, YV24, YV411 |
[edit] Examples
- Combining LSMASHVideoSource + LSMASHAudioSource
#LoadPlugin("LSMASHSource.dll") ################################## ## @ atrack - audio track number. Default auto. If -2, ignore audio. ## @ fpsnum, fpsden - framerate. Default auto. ## @ format - force specified output pixel format. Default auto. ## (see documentation for valid color formats) ## ## function LSmashSource2(string path, int "atrack", \ int "fpsnum", int "fpsden", \ string "format") { atrack = Default(atrack, 0) fpsnum = Default(fpsnum, 0) fpsden = Default(fpsden, 1) format = Default(format, "") video = LSMASHVideoSource(path, \ fpsnum=fpsnum, fpsden=fpsden, \ format=format) return (atrack==-2) ? video: AudioDub(video, \ LSMASHAudioSource(path, track=atrack)) }
- Combining LWLibavVideoSource + LWLibavAudioSource
#LoadPlugin("LSMASHSource.dll") ################################## ## @ atrack - audio track number. Default auto. If -2, ignore audio. ## @ fpsnum, fpsden - framerate. Default auto. ## @ format - force specified output pixel format. Default auto. ## (see documentation for valid color formats) ## @ cache - if true (the default), create an index file. ## ## function LibavSource2(string path, int "atrack", \ int "fpsnum", int "fpsden", \ string "format", bool "cache") { atrack = Default(atrack, -1) fpsnum = Default(fpsnum, 0) fpsden = Default(fpsden, 1) cache = Default(cache, true) format = Default(format, "") video = LWLibavVideoSource(path, \ fpsnum=fpsnum, fpsden=fpsden, format=format, \ cache=cache) return (atrack==-2) ? video: AudioDub(video, \ LWLibavAudioSource(path, stream_index=atrack, cache=cache)) }
[edit] Changelog
Note: the following versions are dual interface, they support both AviSynth and VapourSynth. Also, it now supports native high bit-depth in AviSynth+, the "stacked" parameter has been removed. Starting with r935+26-20190811, parameter "cachefile" has been added to both LWLibavAudioSource and LWLibavVideoSource.
Version | Changes |
---|---|
20210728 |
Build:
|
20210423 |
|
20210421 |
|
20200728 |
|
20200726 |
|
20200531 |
|
20200322 |
|
20200207 |
|
20200118 |
|
20200111 |
|
20191127 |
|
20191116 |
|
20191115 |
|
20190917 |
|
20190914 |
|
20190910 |
|
20190903 |
|
r935+34-20190829 |
|
r935+33-20190826 |
|
r935+31-20190820 |
|
r935+26-20190811 |
|
r935+26-20190712 |
|
[edit] External Links
- Doom9 Forum - LSMASHSource discussion.
- GitHub - Source code repository, original (VFR-maniac)
- GitHub - Source code repository, updated (HolyWu)
- Dropbox - Download repository by the_weirdo,
also includes LSMASHSource compiled against Libav, see here for more information (no longer updated). - MediaFire - LSMASHSource for Windows XP [5].
Back to External Filters ←