View Full Version : L-SMASH Source
gpower2
20th March 2020, 12:31
Hey guys!
I run into a problem with LSmashSource by using the LWLibavAudioSource with AviSynth+ 3.5
The resulting audio script has significantly smaller length from the original file. (03:17 instead of 04:07)
The original audio track properties are:
Audio
ID : 1
Format : WMA
Format version : Version 2
Codec ID : 161
Codec ID/Info : Windows Media Audio
Description of the codec : Windows Media Audio 9.2 - 20 kbps, 32 kHz, mono (A/V) 1-pass CBR
Duration : 4 min 7 s
Bit rate mode : Constant
Bit rate : 1 411 kb/s
Channel(s) : 1 channel
Sampling rate : 32.0 kHz
Bit depth : 16 bits
Stream size : 41.6 MiB (21%)
Language : English (Great Britain)
After testing different versions, I finally managed to pinpoint the version that broke this particular script:
commit 2f9d49914f42c2ffe62a9fc20b48de4d3657ffd9 [revision 921]
Author: Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>
Date: Tue Dec 20 07:21:13 2016 +0900
lwindex: Consider draining mode for actual audio decoding.
All the versions from r921 till the latest 20200207 have the wrong result.
I also tested with FFMS2 and I had no problem with that.
Could someone take a look?
Thank you very much! :)
gpower2
21st March 2020, 10:29
Hi!
Unfortunately I can't share the file here, and you have disabled private messages here.
Is there any other channel I can reach you in order to share the file with you?
gpower2
22nd March 2020, 13:13
https://github.com/HolyWu/L-SMASH-Works/releases/download/20200322/L-SMASH-Works_20200322.7z
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.
I confirm that the issue I had with WMAv2 is now fixed!
Thank you so much for the swift resolve HolyWu! :)
Morku
25th March 2020, 09:44
Can someone help me, please?
When I load this kind of video (e.g. in VirtualDub2) with l-smash as avs: https://www.dropbox.com/s/nq65dc8ha0ogww7/x.mov?dl=1
using:
vid = LSMASHVideoSource("x.mov", format="YUV420P10")
aud = LSMASHAudioSource("x.mov")
AudioDub(vid, aud)
the audio is distorted. I am using latest HolyWu build. What I am doing wrong?
Thank you!
LigH
25th March 2020, 13:18
Video: AVDH 1280x720 29.97fps 97223kbps [V: Apple Video Media Handler [eng] (dnxhd dnxhr hqx, yuv422p10le, 1280x720, 97223 kb/s)]
Audio: PCM 48000Hz stereo 1536kbps [A: Apple Sound Media Handler [eng] (pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s)]
Codec ID: sowt
My guess would be that the endianness of the PCM audio was not correctly respected.
qyot27
25th March 2020, 23:12
AviSynth: Add Meson build system and fix compilation for non-Windows.
A couple of things I found when trying to actually build/use LSMASHSource on Ubuntu (although I'm pretty sure I also saw it do these on macOS and FreeBSD; I just haven't tested whether the below fixes it on those systems):
Without an install prefix set, it installs to what I guess is meson's default $libdir, so it gets installed to /usr/local/lib/x86_64-linux-gnu/avisynth/ instead of /usr/local/lib/avisynth. Since AviSynth+ installs a pkg-config file with the relevant information, it can pretty much mirror the meson.build for VapourSynth that uses pkg-config to set those values. Or does that cause some kind of conflict with MSVC builds?
The plugin entry point isn't visible, so AviSynth+ can't load it. Setting -fvisibility=default in CPPFLAGS fixed it, although since meson.build has the gnu_symbol_visibility field, that might be a better place for it, or the exact symbols could be marked visible in the source.
sl1pkn07
26th March 2020, 00:49
in ubuntu pkg-config see the path /usr/local/lib/pkgconfig by default?
if is no, you need set PKG_CONFIG_LIBDIR or PKG_CONFIG_PATH pounts to "/usr/local/lib/pkgconfig:" for meson can look at it
EDIT: good cat about -fvisibility=default !
edit2: patch
diff --git a/AviSynth/meson.build b/AviSynth/meson.build
index b20c0d4..97c0255 100644
--- a/AviSynth/meson.build
+++ b/AviSynth/meson.build
@@ -57,6 +57,7 @@ sources = [
includes = include_directories('../include')
deps = [
+ dependency('avisynth'),
dependency('liblsmash'),
dependency('libavcodec', version : '>=58.18.0'),
dependency('libavformat', version : '>=58.12.0'),
@@ -78,5 +79,5 @@ shared_module('lsmashsource', sources,
include_directories : includes,
install : true,
install_dir : join_paths(get_option('libdir'), 'avisynth'),
- gnu_symbol_visibility : 'hidden'
+ gnu_symbol_visibility : 'default'
)
qyot27
26th March 2020, 02:50
I'm logged in under Windows at the moment, but as I do have WSL with Ubuntu 19.10 set up,
$ pkg-config --variable pc_path pkg-config
/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/lib/pkgconfig:/usr/share/pkgconfig
So yes, it sees both (and more), with the path meson used at the front. But it appears like the reason it picks that one first for installing liblsmashsource.so is because while FFmpeg and L-SMASH are both detected via pkgconfig, AviSynth is not. As soon as I hook AviSynth up into the pkg-config queries in meson.build¹, it does install to /usr/local/lib/avisynth just like ConvertStacked does.
¹diff --git a/AviSynth/meson.build b/AviSynth/meson.build
index b20c0d4..75a92fa 100644
--- a/AviSynth/meson.build
+++ b/AviSynth/meson.build
@@ -56,7 +56,10 @@ sources = [
includes = include_directories('../include')
+avisynth_dep = dependency('avisynth').partial_dependency(compile_args : true, includes : true)
+
deps = [
+ dependency('avisynth'),
dependency('liblsmash'),
dependency('libavcodec', version : '>=58.18.0'),
dependency('libavformat', version : '>=58.12.0'),
@@ -77,6 +80,6 @@ shared_module('lsmashsource', sources,
dependencies : deps,
include_directories : includes,
install : true,
- install_dir : join_paths(get_option('libdir'), 'avisynth'),
- gnu_symbol_visibility : 'hidden'
+ install_dir : join_paths(avisynth_dep.get_pkgconfig_variable('libdir'), 'avisynth'),
+ gnu_symbol_visibility : 'default'
)
Make sure to check the .so with nm -D to make sure that AvisynthPluginInit3 is exported.
sl1pkn07
26th March 2020, 07:11
└───╼ nm -D /usr/lib/avisynth/liblsmashsource.so | grep Avis
000000000001de70 T AvisynthPluginInit3
pkgconfig is not used to know where to install the library, it is used to find where the libraries installed on the system for build the projects
you need set manually where install the libraries in meson with `--libdir` (or `--libexecdir`) and `--prefix` if you want install in a custom path
see https://mesonbuild.com/Configuring-a-build-directory.html
qyot27
26th March 2020, 08:10
I am well aware of how pkg-config and custom prefixes and install dirs work. (https://raw.githubusercontent.com/qyot27/mpv/extra-new/DOCS/crosscompile-mingw-tedious.txt)
That doesn't change the fact that I said 'to mirror the meson.build for VapourSynth':
https://github.com/HolyWu/L-SMASH-Works/blob/master/VapourSynth/meson.build#L65
And that this means it goes into the same plugin directory VapourSynth itself creates and uses for the plugins that come with the upstream source. Something which the meson.build for AviSynth is not doing at the current time.
sl1pkn07
26th March 2020, 08:46
Installing liblsmashsource.so to /usr/local/lib/avisynth
without setting libdir/prefix. but my avisynth (include .pc) is installed in /usr/lib
└───╼ yay -Ql avisynthplus-git
avisynthplus-git /etc/
avisynthplus-git /etc/avisynth/
avisynthplus-git /etc/avisynth/avisynth.conf
avisynthplus-git /usr/
avisynthplus-git /usr/include/
avisynthplus-git /usr/include/avisynth/
avisynthplus-git /usr/include/avisynth/avisynth.h
avisynthplus-git /usr/include/avisynth/avisynth_c.h
avisynthplus-git /usr/include/avisynth/avs/
avisynthplus-git /usr/include/avisynth/avs/alignment.h
avisynthplus-git /usr/include/avisynth/avs/capi.h
avisynthplus-git /usr/include/avisynth/avs/config.h
avisynthplus-git /usr/include/avisynth/avs/cpuid.h
avisynthplus-git /usr/include/avisynth/avs/minmax.h
avisynthplus-git /usr/include/avisynth/avs/posix.h
avisynthplus-git /usr/include/avisynth/avs/types.h
avisynthplus-git /usr/include/avisynth/avs/win.h
avisynthplus-git /usr/lib/
avisynthplus-git /usr/lib/libavisynth.so
avisynthplus-git /usr/lib/pkgconfig/
avisynthplus-git /usr/lib/pkgconfig/avisynth.pc
my /usr/local is complety pruned, only system directories
└───╼ LC_ALL=C pacman -Qo /usr/local
/usr/local/ is owned by filesystem 2019.10-2
in avisynth.pc
└───╼ cat /usr/lib/pkgconfig/avisynth.pc |grep ^libdir
libdir=${exec_prefix}/lib
meson not know the variable '${exec_prefix}'
so yes, i think is working
Morku
27th March 2020, 16:11
Video: AVDH 1280x720 29.97fps 97223kbps [V: Apple Video Media Handler [eng] (dnxhd dnxhr hqx, yuv422p10le, 1280x720, 97223 kb/s)]
Audio: PCM 48000Hz stereo 1536kbps [A: Apple Sound Media Handler [eng] (pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s)]
Codec ID: sowt
My guess would be that the endianness of the PCM audio was not correctly respected.
And is there something I can change? Or just wait for a fix?
poisondeathray
27th March 2020, 17:18
And is there something I can change? Or just wait for a fix?
Use another audio source filter for now as a temporary workaround
eg
vid = LSmashVideoSource("x.mov")
aud = FFAudioSource("x.mov")
AudioDub(vid,aud)
Actually L-Smash works, if you use LWLibavAudioSource instead of LSmashAudioSource. It produces an index. But not sure why LSmashAudioSource fails
vid = LSmashVideoSource("x.mov")
aud = LWLibavAudioSource("x.mov")
AudioDub(vid,aud)
Morku
27th March 2020, 20:35
wow, I dodn't expect a solution that quick.
Yes, the new "temporary fix" build working fine :) No distorted audio. Thank you.
The FFAudioSource workaround is also doing the job, but indexing takes really a long time here.
LigH
28th March 2020, 10:35
Nice to know that I guessed well! :D
kedautinh12
13th April 2020, 10:58
New patched for ffmpeg 4.2.2
https://gist.github.com/maki-rxrz/5a7a2c789e4369fa34853b5358fb8a29
bruno321
24th April 2020, 08:34
@xp users try this: https://www.mediafire.com/folder/17q7t31dib18t/LSMASH-Works
Was this the last build for XP users? I'm trying it now with latest AVS+ and I'm getting "system exception -- access violation".
(If there's no LSMASHVideo for XP, what's a good alternative that would allow me to feed an m2ts directly into avspmod? DirectShowSource is giving me "no video")
videoh
24th April 2020, 10:40
If there's no LSMASHVideo for XP, what's a good alternative Update to Win10.
bruno321
24th April 2020, 10:44
Ah thanks, I hadn't thought of that.
Any other answers?
MeteorRain
24th April 2020, 11:03
Windows XP does not have the functionality to correctly run modern applications.
In C++ application, static variables need to be safely initialized to properly run. It needs a large thread local storage, which Windows XP doesn't have. Of course you can disable thread safe init and re-compile, which allows it to run. But then you'll suffer thread-unsafe init and it will potentially give you incorrect result silently.
For now, most XP compatible filters are provided giving the notice that you are willing to take the risk of unreliable running results.
TL;DR: Recompile it with "/Zc:threadSafeInit-" option, make it unsafe, and it should work for you.
bruno321
24th April 2020, 11:13
Thanks for the explanation. For the moment, for uninteresting reasons, I can't update the XP installation. What I've been doing is either mux into an mkv and use ffvideosource, or use the very old DGAVCDec, which doesn't always work. I was wondering if there was a better alternative in the XP scenario, but perhaps there isn't...?
Groucho2004
24th April 2020, 11:14
If there's no LSMASHVideo for XP, what's a good alternative that would allow me to feed an m2ts directly into avspmod?Here's (http://download1525.mediafire.com/ohpjpgk11avg/oi31n1lcrzdvkno/ffms2_r1315%2B119-avs%2Bvsp_lastxp.7z) a link to qyot27's last XP-compatible FFMS2 C-plugin.
Edit - The best alternative for XP would be an older version (2052?) of DG's source filter for Nvidia cards but I don't know if he would be willing to make it available. Also, it's not free but the few bucks he charges are well worth it.
bruno321
24th April 2020, 11:49
Thanks. I already use ffvideosource succesfully, but then I feed it a demuxed mkv. In the avisynth.nl page I see that ffvideosource also accepts m2ts files, but I read that
"M2TS, TS: Seeking seems to be off a few frames here and there"
which makes me a bit anxious.
Groucho2004
24th April 2020, 11:55
"M2TS, TS: Seeking seems to be off a few frames here and there"
which makes me a bit anxious.I agree. In that case there's just DGDecNV as far as I can see.
videoh
24th April 2020, 15:15
The best alternative for XP would be an older version (2052?) of DG's source filter for Nvidia cards but I don't know if he would be willing to make it available. Also, it's not free but the few bucks he charges are well worth it. Thanks for the mention, Groucho! I thought DGDecNV 2053 should work on XP. Does it not? Also, 2052 has always been available in the binaries area.
videoh
24th April 2020, 15:16
"M2TS, TS: Seeking seems to be off a few frames here and there"
which makes me a bit anxious. Shouldn't matter if you are just transcoding with linear access.
StainlessS
24th April 2020, 16:21
You could just do away with ffms and LSmash altogether, this does a faily good job, never (well rarely) problems,
just convert to AVI and have pretty much 100% frame accuracy and zero problems.
DEMO.BAT
REM https://forum.doom9.org/showthread.php?p=1908619#post1908619
REM We DO NOT LIKE SPACES [EDIT: nor accents] IN FILE NAMES (REM == REMark ie comment)
setlocal
REM Where to Find ffmpeg
set FFMPEG="C:\BIN\ffmpeg.exe"
REM Where to get INPUT files, No terminating Backslash, "." = current directory (ie same as dir .bat file)
set INDIR="."
REM Where to place OUTPUT files, No terminating Backslash. "." would be same as .bat file, ".\OUT" = OUT folder in same directory as bat file.
set OUTDIR="D:"
REM Below, can add INPUT extensions as eg *.WEBM (SPACE separated, Batch Processes all INPUT type files in INDIR)
FOR %%A IN (*.AVI *.MKV *.MP4 *.MOV *.QT *.3GP *.DVB *.VOB *.MPG *.MPEG *M2P *.PS *.TS *.DIVX *.XVID *.FLV *.WMV *.ASF *.MXF) DO (
REM ****** Un-REM [ie SELECT] ONLY one of below lines, Comment out ie REM the remaining lines.
%FFMPEG% -i "%INDIR%\%%A" -vcodec utvideo -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec huffyuv -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec magicyuv -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec v410 -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec r210 -acodec pcm_s16le "%OUTDIR%\%%~nxA.AVI"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec copy -acodec copy "%OUTDIR%\%%~nxA.MKV"
REM %FFMPEG% -i "%INDIR%\%%A" -vcodec utvideo -acodec copy "%OUTDIR%\%%~nxA.MKV"
REM %FFMPEG% -i "%INDIR%\%%A" -vn -acodec pcm_s16le "%OUTDIR%\%%~nxA.WAV"
REM *****************************************************************************************.
)
Pause
REM ... Above Command lines, What they do if UnREM'ed (and all others REM'ed, UnREM=UnCOMMENT ) :
REM (1) Convert Video to UtVideo lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (2) Convert Video to HuffYUV lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (3) Convert Video to MagicYUV lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (4) Convert Video to v410 Uncompressed 4:4:4 10-bit lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (5) Convert Video to r210 Uncompressed RGB 10-bit lossless, Convert Audio to 16 bit PCM audio (output AVI).
REM (6) Remux, copy both video and audio (output MKV - see file extension at the end of the Remux line, ie MKV).
REM (7) Convert Video to UtVideo lossless, copy audio (output MKV).
REM (8) Skip any video, Convert Audio to 16 bit PCM (output WAV).
REM *****************************************************************************************.
REM In the UnREM'ed command Line [ie without a preceding REM]:-
REM '-vcodec utvideo' means convert video using utvideo codec.
REM '-vcodec copy' means copy video rather than convert.
REM '-vn' means no video output, use instead of eg '-vcodec utvideo'
REM '-acodec pcm_s16le' means convert audio using pcm_s16le codec.
REM '-acodec copy' means copy audio rather than convert.
REM '-an' means no audio output, use instead of eg '-acodec pcm_s16le'
REM The file extension at end of the line determines output container, eg '.AVI'
REM
REM From Command line with ffmpeg somewhere in your environment PATH:-
REM 'ffmpeg -codecs >D:\ffmpeg_codecs.txt'
REM Writes a txt file of ffmpeg available codecs to D:\
REM At start of txt file it shows a 'legend' or 'key' for codecs that can be used for video and audio,
REM use only ENCODING SUPPORTED codecs, prefereably LOSSLESS.
REM Supported codecs will vary with ffmpeg version.
REM *****************************************************************************************.
EDIT: Best make seperate BAT/CMD files for your required options.
EDIT: You may be able to remux eg WMV into eg MP4 (or whatever) does not necessarily mean that it will play OK in your player.
EDIT: At the very least you could give it a try instead of starting another thread on "How to open this difficult file" [life aint forever].
EDIT: I still use DGIndex for DVD VOB (otherwise almost always this, unless some kind of test scenario).
FranceBB
24th April 2020, 18:56
Was this the last build for XP users? I'm trying it now with latest AVS+ and I'm getting "system exception -- access violation".
(If there's no LSMASHVideo for XP, what's a good alternative that would allow me to feed an m2ts directly into avspmod? DirectShowSource is giving me "no video")
AFAIK the last XP compatible version of LSMASH is the 2015-03-16 build you can find here: https://www.mediafire.com/folder/17q7t31dib18t/LSMASH-Works
It works fine, however there's a catch: it only supports 8bit planar, so if you index an high bit depth file (10bit or higher), it's gonna index it and output 16bit interleaved instead, which ain't a big deal, since you can convert it back to 16bit planar anyway, but still...
Besides, since it's quite old, it might not be able to index new files like AV1 and other things. Your best shot for pretty much everything other than some particular cases is ffms2 C plugin which has been updated by qyot27 for quite some time before he/she dropped support: http://www.mediafire.com/file/oi31n1lcrzdvkno/ffms2_r1315%252B119-avs%252Bvsp_lastxp.7z/file
(I'm like 99% sure he's a dude, but he has a girl as an avatar so I'll leave the 1% margin open for doubt/discussion)
ffms2 will be able to decode more things and it also supports planar high bit depth, which means that if you index a 10bit planar source, you'll get a 10bit planar output and so on. :)
Bonus bit: CoRoNe is still compiling ffmpeg for Windows XP x86, so whenever you can't index something, there's always ffmpeg lossless (huffyuv or lagarith or utvideo or ffv1 or whatever). I also asked him to compile ffms2 c plugin with his very own changes to ffmpeg so that we can keep it XP-compatible; he didn't reply yet but I hope he will do it.
https://rwijnsma.home.xs4all.nl/files/ffmpeg/?C=M;O=D
Update to Win10.
You mean "downgrade" to Windows10 hahaha
Jokes aside, I'm pretty sure everybody has a Win10 copy for productivity stuff just like I do for Visual Studio, AVID Media Composer, Protools, Davinci Resolve and also Avisynth, but I'm still attached to my beloved XP for leisure (and AVS is also leisure xD)... :D
@StainlessS... good bat, it might come in handy. Out of curiosity, do you still have your copy of XP or did you ditch it when you moved to Windows 7? :(
videoh
24th April 2020, 19:56
You mean "downgrade" to Windows10 hahaha I used to like you. :o
StainlessS
24th April 2020, 21:44
still have your copy of XP or did you ditch it when you moved to Windows 7
Still have on several machines, two never on-line (well one is a laptop which I only use for playing movie whilst at my Win7 m/c),
and another one which rarely goes on-line (except in guise of Cinnamon Mint EDIT: Usually just to update it), EDIT: that one is my regular encode machine.
Also got two or three more Laptops with XP on them, I always forget bout them, never turned them on for a couple of years.
EDIT: Probably dumped about 6 to 8 XP m/c's in last 4 or 5 years, P4 or less.
real.finder
24th April 2020, 21:52
(I'm like 99% sure he's a dude, but he has a girl as an avatar so I'll leave the 1% margin open for doubt/discussion)
indeed it's just his waifu avatar :p
You mean "downgrade" to Windows10 hahaha
I really see win10 better than win7 :D
but still, nothing better than winxp even if I don't use it now :sly:
bruno321
11th May 2020, 13:46
Was this the last build for XP users? I'm trying it now with latest AVS+ and I'm getting "system exception -- access violation".
(If there's no LSMASHVideo for XP, what's a good alternative that would allow me to feed an m2ts directly into avspmod? DirectShowSource is giving me "no video")
FWIW I don't have a problem using LWLibavVideoSource, which I hadn't read about until today.
Using LSMASH 20200322 in VapourSynth, HW decoding doesn't seem to work. I'm trying to decode H.264 8bit in a simple script like this:
clip = core.lsmas.LWLibavSource(source=r"D:\video.mkv", prefer_hw=1)
I don't see any GPU usage. Am I doing something wrong?
And apparently "prefer_hw" can take just about any value, could you please make it fail in the case of invalid values and also if the selected decoder is not available?
stax76
27th May 2020, 10:32
@leon
Please provide avsmeter benchmark results like so:
https://forum.doom9.org/showpost.php?p=1912563&postcount=3407
real.finder
27th May 2020, 10:52
maybe make an optional cmd tools to do index for LSMASH will be a good idea, so user can now when the indexing finish, like ffindex
My script:
LoadPlugin("C:\Program Files\MeGUI\tools\lsmash\LSMASHSource.dll")
LSMASHVideoSource("D:\video.mp4", prefer_hw=1)
GPU info:
Video card: NVIDIA GeForce GT 440
GPU version: GF108
Video memory size: 2048
OpenCL version: OpenCL 1.1 CUDA
Graphics driver version: 22.21.13.8569 (NVIDIA 385.69) / Win7 64
Result:
Frames processed: 1453 (0 - 1452)
FPS (min | max | average): 583.0 | 2460 | 1602
Memory usage (phys | virt): 62 | 63 MiB
Thread count: 18
CPU usage (average): 73%
GPU usage (average): 0%
VPU usage (average): 0%
GPU memory usage: 273 MiB
Time (elapsed): 00:00:00.907
AVS version: AviSynth+ 0.1 (r2728, MT, i386)
stax76
27th May 2020, 11:19
maybe make an optional cmd tools to do index for LSMASH will be a good idea, so user can now when the indexing finish, like ffindex
ffmpeg.exe -i input.avs -hide_banner
@leon
Please also post the avsmeter benchmark result for software decoding:
LSMASHVideoSource("D:\video.mp4")
AVS version: AviSynth+ 0.1 (r2728, MT, i386)
I suggest to use avisynth 3.6.
real.finder
27th May 2020, 11:28
ffmpeg.exe -i input.avs -hide_banner
that don't show the Progress in any way
Groucho2004
27th May 2020, 11:58
I have a hunch that gpu decoding with lsmash needs at least OpenCL 1.2.
Edit: What I meant to say is that the cuvid support for your card is probably insufficient gpu decoding.
stax76
27th May 2020, 12:30
that don't show the Progress in any way
Sure it does.
1. It's exactly what staxrip does.
2. I verified it in the console.
Try a large enough file and delete an existing index file before.
real.finder
27th May 2020, 12:43
Sure it does.
1. It's exactly what staxrip does.
2. I verified it in the console.
Try a large enough file and delete an existing index file before.
ok, that seems right
https://i.postimg.cc/d3HqprF8/Untitled.png (https://postimages.org/)
edit: thanks
edit2: but I think small cmd tools that can do this will be better :)
Please also post the avsmeter benchmark result for software decoding
I did software decoding within VS and the result was the same for both, besides it says that the GPU utilisation is 0 anyway.
I have a hunch that gpu decoding with lsmash needs at least OpenCL 1.2.
My guess also was that my GPU is just too old for this. Maybe I'll try it on my iGPU (QSV).
And if that's the case maybe notify the user?
Groucho2004
27th May 2020, 13:18
My guess also was that my GPU is just too old for this.See my edit above. I meant to say cuvid, not OpenCL.
stax76
27th May 2020, 14:22
but I think small cmd tools that can do this will be better
Somebody has to build and maintain this for avisynth and for vapoursynth and for x86 and for x64, a lot of work...
Piping tools might support this or accept feature requests.
I did test it with other videos and video formats. Also I get HW decoding with LAV Video Decoder (CUVID) for the same video.
General
Complete name : D:\video.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom/avc1)
File size : 13.0 MiB
Duration : 48 s 482 ms
Overall bit rate mode : Variable
Overall bit rate : 2 250 kb/s
Encoded date : UTC 2011-03-02 16:59:19
Tagged date : UTC 2011-03-02 16:59:19
Video
ID : 2
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L3.1
Format settings : CABAC / 4 Ref Frames
Format settings, CABAC : Yes
Format settings, Reference : 4 frames
Codec ID : avc1
Codec ID/Info : Advanced Video Coding
Duration : 48 s 482 ms
Bit rate : 2 000 kb/s
Maximum bit rate : 31.3 Mb/s
Width : 1 280 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 29.970 (30000/1001) FPS
Original frame rate : 29.970 (29970/1000) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.072
Stream size : 11.7 MiB (90%)
Writing library : x264 core 95
Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x101 / me=hex / subme=1 / psy=1 / psy_rd=0.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=18 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=abr / mbtree=1 / bitrate=2000 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
Encoded date : UTC 2011-03-02 16:59:19
Tagged date : UTC 2011-03-02 16:59:19
Codec configuration box : avcC
Audio
ID : 1
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 48 s 390 ms
Bit rate mode : Variable
Bit rate : 125 kb/s
Maximum bit rate : 199 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 740 KiB (6%)
Encoded date : UTC 2011-03-02 16:59:19
Tagged date : UTC 2011-03-02 16:59:19
Other #1
ID : 65536
Type : Hint
Format : RTP
Codec ID : rtp
Duration : 48 s 343 ms
Bit rate mode : Variable
Encoded date : UTC 2011-03-02 16:59:19
Tagged date : UTC 2011-03-02 16:59:19
Other #2
ID : 65537
Type : Hint
Format : RTP
Codec ID : rtp
Duration : 48 s 482 ms
Encoded date : UTC 2011-03-02 16:59:19
Tagged date : UTC 2011-03-02 16:59:19
AVSMeter 3.0.0.4 (x86), (c) Groucho2004, 2012-2020
AviSynth+ 0.1 (r2728, MT, i386) (0.1.0.0)
[h264 @ 003DEFC0] Reinit context to 1280x720, pix_fmt: yuv420p
[h264_cuvid @ 03F85040] Cannot load cuvidGetDecodeStatus
[h264_cuvid @ 03F85040] Failed loading nvcuvid.
Creating lwi index file 100%
[AVIOContext @ 003B8680] Statistics: 13242701 bytes read, 28 seeks
[h264 @ 03E2B8C0] Reinit context to 1280x720, pix_fmt: yuv420p
[h264_cuvid @ 03E2D040] Cannot load cuvidGetDecodeStatus
[h264_cuvid @ 03E2D040] Failed loading nvcuvid.
[h264 @ 03E2D400] Reinit context to 1280x720, pix_fmt: yuv420p
Number of frames: 1453
Length (hh:mm:ss.ms): 00:00:48.482
Frame width: 1280
Frame height: 720
Framerate: 29.970 (30000/1001)
Colorspace: i420
[AVIOContext @ 03EF6E00] Statistics: 98362 bytes read, 2 seeks
@Groucho2004
I don't really know whether it's related, but what's your Nvidia driver version?
Groucho2004
27th May 2020, 18:08
@groucho2004
i don't really know whether it's related, but what's your nvidia driver version?436.48
real.finder
27th May 2020, 19:29
Somebody has to build and maintain this for avisynth and for vapoursynth and for x86 and for x64, a lot of work...
Piping tools might support this or accept feature requests.
or better it work with the video directly and only need LSMASHSource.dll so then no need to update it every time
Well, that version is not available for my card. Thanks anyway.
kedautinh12
30th May 2020, 00:24
L-Smash Source meet error
https://forum.doom9.org/showthread.php?p=1914021#post1914021
Atak_Snajpera
31st May 2020, 14:36
https://github.com/HolyWu/L-SMASH-Works/releases/download/20200531/L-SMASH-Works_20200531.7z
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.
Thank you! Wonky_monkey's sample is now correctly decoded in non-linear mode
https://i.postimg.cc/K8bMHmKd/Untitled-1.png
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.