LSMASHSource
(Update page to match latest version (20200322)) |
m (→Changelog) |
||
Line 199: | Line 199: | ||
*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 | ||
Line 205: | Line 205: | ||
*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 | ||
Line 215: | Line 215: | ||
*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 | ||
Line 221: | Line 221: | ||
* 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> |
Revision as of 19:46, 30 March 2020
Abstract | |
---|---|
Author | VFR-maniac, HolyWu |
Version | 20200322 |
Download | L-SMASH-Works |
Category | Source filters |
License | ISC / binaries are GPL or LGPL |
Discussion | Doom9 Thread |
Contents |
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.
Requirements
- [x86]: AviSynth+ or AviSynth 2.6
- [x64]: AviSynth+
- Supported color formats: RGB24, RGB32, YUY2, Y8, YV12, YV16, YV24, YV411
- AviSynth+: all YUV planar formats (8/10/12/14/16bit) are supported, also RGB48
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 |
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)) }
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 |
---|---|
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 |
|
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 ←