LSMASHSource
(→Archived Downloads: add r935+34-20190829) |
(→Archived Downloads: add newer versions) |
||
| Line 121: | Line 121: | ||
!class="unsortable" width=25%| Mirror | !class="unsortable" width=25%| Mirror | ||
!class="unsortable"| Comments | !class="unsortable"| Comments | ||
| + | |- | ||
| + | |20190917 | ||
| + | |[https://github.com/HolyWu/L-SMASH-Works/releases/ GitHub] | ||
| + | | | ||
| + | | | ||
| + | *VideoSource: Add prefer_hw=3. | ||
| + | *Changes by [https://forum.doom9.org/showthread.php?p=1885106#post1885106 HolyWu] | ||
| + | |- | ||
| + | |20190914 | ||
| + | |[https://github.com/HolyWu/L-SMASH-Works/releases/ GitHub] | ||
| + | | | ||
| + | | | ||
| + | *VideoSource: Fix fallback to software decoder in prefer_hw. | ||
| + | *LWLibav: Fix access violation in file name manipulation. | ||
| + | *Changes by [https://forum.doom9.org/showthread.php?p=1884862#post1884862 HolyWu] | ||
| + | |- | ||
| + | |20190910 | ||
| + | |[https://github.com/HolyWu/L-SMASH-Works/releases/ GitHub] | ||
| + | | | ||
| + | | | ||
| + | *Update to FFmpeg 4.2.1. | ||
| + | *VideoSource: Add parameter prefer_hw to conveniently switch between software and hardware decoder. Consult README for details. | ||
| + | *Fix seeking issue in CUVID decoding. | ||
| + | *Fix hardware decoder outputting YUV420P8 by default on high bit depth clip. | ||
| + | *Optimize P010->YUV420P10 conversion for hardware decoder by SSE2. | ||
| + | *LWLibav: Fix access violation in avi file when seeking randomly. | ||
| + | *Changes by [https://forum.doom9.org/showthread.php?p=1884446#post1884446 HolyWu] | ||
| + | |- | ||
| + | |20190903 | ||
| + | |[https://github.com/HolyWu/L-SMASH-Works/releases/ GitHub] | ||
| + | | | ||
| + | | | ||
| + | *Fix abnormal loading time. | ||
| + | *Improve progress printing. | ||
| + | *Use both file size and partial checksum (xxhash) for file signature comparison in index file. | ||
| + | *LWLibav: Fix inaccurate framerate in some files. | ||
| + | *VapourSynth: Replace configure with Meson build system. | ||
| + | *VapourSynth: Fix missing setError invocation when there is an error. | ||
| + | *Fix frame corruption in some VC-1 files by a workaround. Tested Atak_Snajpera's sample by seek-test.py and confirmed to be frame accurate. | ||
| + | *Changes by [https://forum.doom9.org/showthread.php?p=1883988#post1883988 HolyWu], includes MeteorRain's mods below. [https://forum.doom9.org/showthread.php?p=1884214#post1884214] | ||
|- | |- | ||
|r935+34-20190829 | |r935+34-20190829 | ||
Revision as of 19:14, 29 September 2019
| Abstract | |
|---|---|
| Author | VFR-maniac |
| Version | r929 (24-Feb-2017) |
| 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
- AviSynth 2.6.0 or greater | AviSynth+
- Supported color formats: RGB24, RGB32, YUY2, Y8, YV12, YV16, YV24, YV411
- ** vcredist_x86.exe is required for L-SMASH-Works-32bit
- ** vcredist_x64.exe is required for L-SMASH-Works-64bit
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.
## @ stacked - if true, return Stack16 format.
## (note, stacked=true requires a 16-bit color format)
## @ format - force specified output pixel format. Default auto.
## (see documentation for valid color formats)
## (if stacked = true, default "YUV420P16")
##
function LSmashSource2(string path, int "atrack",
\ int "fpsnum", int "fpsden",
\ string "format", bool "stacked")
{
atrack = Default(atrack, 0)
fpsnum = Default(fpsnum, 0)
fpsden = Default(fpsden, 1)
stacked = Default(stacked, false)
format = Default(format, "")
format = (format=="" && stacked==true) ? "YUV420P16" : ""
video = LSMASHVideoSource(path,
\ fpsnum=fpsnum, fpsden=fpsden,
\ format=format, stacked=stacked)
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.
## @ stacked - if true, return Stack16 format.
## (note, stacked=true requires a 16-bit color format)
## @ format - force specified output pixel format. Default auto.
## (see documentation for valid color formats)
## (if stacked = true, default "YUV420P16")
## @ cache - if true (the default), create an index file.
##
function LibavSource2(string path, int "atrack",
\ int "fpsnum", int "fpsden",
\ string "format", bool "stacked", bool "cache")
{
atrack = Default(atrack, -1)
fpsnum = Default(fpsnum, 0)
fpsden = Default(fpsden, 1)
stacked = Default(stacked, false)
cache = Default(cache, true)
format = Default(format, "")
format = (format=="" && stacked==true) ? "YUV420P16" : ""
video = LWLibavVideoSource(path,
\ fpsnum=fpsnum, fpsden=fpsden, format=format,
\ stacked=stacked, cache=cache)
return (atrack==-2) ? video: AudioDub(video,
\ LWLibavAudioSource(path, stream_index=atrack, cache=cache))
}
Archived Downloads
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 | Download | Mirror | Comments |
|---|---|---|---|
| 20190917 | GitHub |
| |
| 20190914 | GitHub |
| |
| 20190910 | GitHub |
| |
| 20190903 | GitHub |
| |
| r935+34-20190829 | LSMASHSource-Release_r935+34.zip |
| |
| r935+33-20190826 | LSMASHSource-Release_r935+33.zip |
| |
| r935+31-20190820 | L-SMASH-Works-r935+31-20190820.7z |
| |
| r935+26-20190811 | L-SMASH-Works-r935+26-20190811.7z |
| |
| r935+26-20190712 | LSMASHSource-Release_r935+26.zip |
|
External Links
- Doom9 Forum - LSMASHSource discussion.
- GitHub - Source code repository.
- 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 ←