LSMASHSource
(→Changelog: add latest changes) |
(→Filters) |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{FilterCat5|External_filters|Source_filters|Plugins|Plugins_x64|Deep_color_tools}} | {{FilterCat5|External_filters|Source_filters|Plugins|Plugins_x64|Deep_color_tools}} | ||
{{Filter3 | {{Filter3 | ||
| − | | {{Author/VFR-maniac}}, HolyWu | + | |1={{Author/VFR-maniac}}, HolyWu |
| − | | 20200728 | + | |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 24: | 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 43: | Line 43: | ||
|} | |} | ||
<br> | <br> | ||
| + | |||
== Examples == | == Examples == | ||
* Combining '''LSMASHVideoSource''' + '''LSMASHAudioSource''' | * Combining '''LSMASHVideoSource''' + '''LSMASHAudioSource''' | ||
| Line 66: | Line 67: | ||
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 101: | Line 102: | ||
</div> | </div> | ||
<br> | <br> | ||
| + | |||
== Changelog == | == 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 109: | Line 111: | ||
!class="unsortable" width=12%| Version | !class="unsortable" width=12%| Version | ||
!class="unsortable"| Changes | !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 | |20210423 | ||
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 ←