LSMASHSource

From Avisynth wiki
Jump to: navigation, search
Abstract
Author VFR-maniac
Version r901 (07-Aug-2016)
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. It uses FFmpeg (libavcodec) to decode all supported audio and video formats. For a complete list see official FFmpeg documentation.

Requirements

* These additional planar colorspaces are not available in AviSynth 2.5.8.


** 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.
One advantage over LWLibavVideoSource and FFmpegSource is that it doesn't need to create an index file for its supported 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.
One advantage over LWLibavAudioSource 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
LWLibavAudioSource

Uses libavcodec as an audio decoder and libavformat as a demuxer.

LWLibavVideoSource

Uses libavcodec as a video decoder and libavformat as a demuxer.
Supports video codecs LSMASHVideoSource does not – for example MPEG-4, UT Video, Lagarith, and animated GIF and PNG.

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))
}


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 [1].




Back to External Filters

Personal tools